你们好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程。此文首发于「 Daotin的梦呓 」公众号,欢迎你们订阅关注。在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。如今就让咱们一块儿进入 Web 前端学习的冒险之旅吧!javascript
// 设置任意标签的文本内容为任意内容 function setText(element, text) { (typeof element.TextContent === "undefined") ? (element.innerText = text) : (element.textContent = text); } // 获取任意标签的文本内容 function getText(element) { return (typeof element.TextContent === "undefined" ? element.innerText : element.textContent); } // 示例代码 my$("btn").onclick = function () { setText(my$("dv"), "hahahhahha"); }; my$("btn").onclick = function () { console.log(getText(my$("dv"))); };
一、设置成对标签中文本内容:html
innerText 属性是 IE8 标准属性,chrome,fireFox,IE8都支持。前端
textContent 是W3C标准属性,chrome,firefox支持,IE8不支持。java
二、获取成对标签中文本内容:chrome
在 IE8 下使用 textContent 获取成对标签中文本内容,返回值为 undefined。浏览器
那么说明,浏览器不支持的属性的类型都为 undefined.学习
经过判断元素有无 textContent 属性(没有则元素的 textContent 属性为 undefined)来决定用 innerText 仍是 textContent。firefox
<div id="dv"> 哈哈 <p>p标签</p> </div> <script src="common.js"></script> <script> my$("dv").innerText = "div标签"; // 只显示文本 my$("dv").innerHTML = "div标签"; // 只显示文本 my$("dv").innerText = "<a href='#'>a标签</a>"; // 只显示文本 my$("dv").innerHTML = "<a href='#'>a标签</a>"; // 带有a标签格式 console.log(my$("dv").innerText); // 哈哈 p标签 console.log(my$("dv").innerHTML); // 哈哈 <p>p标签</p> </script>
innerText 属性:设置和获取只能获得文本内容。code
innerHTML 属性:不只能够得到文本内容,还能够设置和获取 html 标签,让其显示或获得对应标签的格式。htm
<p>p标签</p> <script src="common.js"></script> <script> var pObj = document.getElementsByTagName("p")[0]; pObj.setAttribute("hello", "world"); // <p hello="world">p标签</p> console.log(pObj.getAttribute("hello")); // world </script>
一、标签中自定义的属性是不能经过
DOM对象.属性
的方式获取的,由于这个属性在DOM里面不存在,强行获取只能是 undefined。二、相应的,设置也是同样的,经过
DOM对象.属性
的方式设置自定义标签,结果设置的只是DOM对象的自定义属性,这个自定义属性不会在标签上显示出来。
获取:经过
DOM对象 .getAttibute("自定义属性的名字")
来获取自定义属性的值。设置:经过
DOM对象 .setAttibute("自定义属性的名字", "自定义属性的值")
来设置自定义属性。移除:经过
DOM对象 .removeAttibute("自定义属性的名字")
来设置自定义属性。PS:removeAttibute 也能够用来移除元素自带的属性,好比类 class 属性等。
removeAttribute("class")