innerText与textContent区别

<div id="box">
    我是一个box
    <b>hello</b>
</div>
<script>
    // innerText  最早出现在IE浏览器中
    // 
    // 浏览器兼容问题
    // 
    // 老版本的firefox浏览器不支持innerText
    // 2016的时候 已经把innerText 在DOM中规定为正式的标准属性
    // 
    // textContent

    var box = document.getElementById('box');
    // 都会把标签过滤
    // 前后的空白和一些换行去掉
    console.log(box.innerText);
    // 原封不动的把内容输出,但是会有换行
    console.log(box.textContent);
</script>

在这里插入图片描述

处理兼容性问题

<body>
<div id="box">
    hello
</div>
</body>
<script>
/* 如何知道浏览器是否支持元素的某个特性 */
var box = document.getElementById('box');

/* 当属性不存在的时候, 返回的是undefined */
//console.log(typeof box.a);
/* 当属性存在的时候,返回的是该属性的类型  */
//console.log(typeof box.id);

console.log(getInnerText(box));

function getInnerText(element) {
    /* 判断当前的浏览器是否支持innerText属性 */
    if (typeof element.innerText === 'string') {
        return element.innerText;
    } else {
        /* 如果不支持,就是用innerContent获取内容 */
        return element.innerContent;
    }
}
box.innerHTML = 'hello world!';  //不推荐使用innerHtml 输出纯文本,推荐 innerText
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值