当前位置: 代码迷 >> 综合 >> DOM——textContent、innerText、innerHTML属性
  详细解决方案

DOM——textContent、innerText、innerHTML属性

热度:34   发布时间:2024-02-12 11:31:32.0

文章目录

  • innerText与textContent
    • 兼容判断代码
    • 应用代码
  • innerText与innerHTML
    • 获取的时候:

innerText与textContent

他们都是设置标签中的文本内容,
使用textContent属性,谷歌,火狐支持,IE8不支持
使用innerText属性,谷歌,火狐,IE8都支持

如果这个属性在浏览器中不支持,那么这个属性的类型是undefined
判断这个属性的类型 是不是undefined,就知道浏览器是否支持

兼容判断代码

  //获取任意标签中间的文本内容function getInnerText(element) {if(typeof element.textContent=="undefined"){return element.innerText;}else{return element.textContent;}}

应用代码

  // 点击按钮设置div中的文本内容my$("btn").onclick = function () {// 设置标签中间的文本内容,应该使用textContent属性my$("dv").textContent="this is div标签";my$("dv").innerText = "哎呦卧槽,这是胡歌的div";// 获取标签中间的文本内容console.log(my$("dv").innerText);console.log(my$("dv").textContent);};

innerText与innerHTML

如果使用innerText主要是设置文本的,设置标签内容,是没有标签的效果的
innerHTML是可以设置文本内容
innerHTML主要的作用是在标签中设置新的html标签内容,是有标签效果的

总结: 想要设置标签内容,使用innerHTML,想要设置文本内容,innerText或者textContent,或者innerHTML,推荐用innerHTML

获取的时候:

innerText可以获取标签中间的文本内容,但是标签中如果还有标签,那么最里面的标签的文本内容也能获取——获取不到标签的,文本可以获取

innerHTML才是真正的获取标签中间的所有内容

  //获取my$("btn2").onclick=function () {//可以获取标签中的文本内容//console.log(my$("dv").innerText);console.log(my$("dv").innerHTML);};