webAPI

innerText和innerHTML,textContent

2019-05-10  本文已影响0人  椋椋夜色

<!DOCTYPE html>
<html lang="zh-CN">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> innerText和innerHTML,textContent </title>

<style>
    .box {
        width: 300px;
        height: 300px;
        background-color: #f00;
    }
</style>

</head>

<body>

    赋值:
    innerText:如果赋的是标签,会把标签也当文本
    innerHTML:如果赋的是标签,会把标签解析出来

    textContent:其实跟innerText是一毛一样的功能.
    textContent是火狐弄的标准(标准语法),IE8之前不支持
    innerText是IE弄的(非标准语法),火狐42版本之前不支持

    它们都不用,用innerHTML,因为它没有兼容性问题 -->
<div class="box">
    <h1>我是h1</h1>
    <p>你是p</p>
</div>

<button>我是button</button>

<input type="button" value="获取" id="btn1">
<input type="button" value="设置" id="btn2">
<input type="button" value="修改button文字" id="btn3">

<script>
    //找button
    var button = document.getElementsByTagName('button')[0];

    //找到div
    var box = document.getElementsByClassName('box')[0];

    //获取
    document.getElementById('btn1').onclick = function () {

        console.log(box.innerText); //只能获得纯文本
        console.log(box.innerHTML); //带标签
        console.log(box.textContent); //只能获得纯文本
    };

    // 设置
    document.getElementById('btn2').onclick = function () {

        // box.innerText = "<h1>我是新内容</h1>"; // 如果赋的是标签,会把标签也当文本一起显示出来
        // box.innerHTML = "<h1>我是新内容</h1>"; // 用 = 会覆盖原来div里的所有内容;

        // box.innerText += "<h1>我是新内容</h1>"; // 给div添加一个子元素;
        // += 的本质 是先取这个值,再加上一个值
        // box.innerText = "我是h1ni 是p" + "<h1>我是新内容</h1>"; // 用 = 会覆盖原来div里的所有内容;打印成字符串;

        // box.innerHTML += "<h1>我是新内容</h1>"; // 给div添加一个子元素;

        box.textContent = "<h1>我是新内容</h1>"; //和 innerText 的功能一样 如果赋的是标签,会把标签也当文本一起显示出来

    };

    //修改button
    document.getElementById('btn3').onclick = function () {

        // console.log(button.innerText); // 我是button
        // console.log(button.innerHTML); // 我是button

        button.innerHTML = "新文本"; // innerHTML 用 = 会覆盖原来 button 里的所有内容;

    };
</script>

</body>

</html>

上一篇下一篇

猜你喜欢

热点阅读