返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

[前端] js中textContent、innerText和innerHTML的用法以及区别

[复制链接]
江湖百晓生Lv.7 显示全部楼层 发表于 2023-5-18 08:09:49 |阅读模式 打印 上一主题 下一主题
一.textContent的用法

1.设置标签中的文本内容

<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    document.getElementById("btn").onclick = function () {
        document.getElementById("dv").textContent = "改变了";
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-1.jpg

js中textContent、innerText和innerHTML的用法以及区别-2.jpg

2.获取标签中的文本内容

<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    document.getElementById("btn").onclick = function () {
        var text = document.getElementById("dv").textContent;
        console.log(text);
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-3.jpg

二.innerText的用法

1.设置标签中的文本内容

<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    document.getElementById("btn").onclick = function () {
        document.getElementById("dv").innerText = "改变了";
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-4.jpg

js中textContent、innerText和innerHTML的用法以及区别-5.jpg

2.获取标签中的文本内容

<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    document.getElementById("btn").onclick = function () {
        var text = document.getElementById("dv").innerText;
        console.log(text);
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-6.jpg

三.innerHTML的用法 1.设置标签中的文本内容

1.设置标签中的文本内容
<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    document.getElementById("btn").onclick = function () {
        document.getElementById("dv").innerHTML = "改变了";
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-7.jpg

js中textContent、innerText和innerHTML的用法以及区别-8.jpg

2.获取标签中的文本内容

<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    document.getElementById("btn").onclick = function () {
        var text = document.getElementById("dv").innerHTML;
        console.log(text);
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-9.jpg

四.innerText和textContent的区别

    设置标签中的文本内容,应该使用textContent属性,谷歌,火狐支持,IE8不支持设置标签中的文本内容,应该使用innerText属性,谷歌,火狐,IE8都支持如果这个属性在浏览器中不支持,那么这个属性的类型是undefined判断这个属性的类型 是不是undefined,就知道浏览器是否支持
1.兼容代码设置任意的标签中间的任意文本内容

<script>
    function setInnerText(element, text) {
        //判断浏览器是否支持这个属性
        if (typeof element.textContent == "undefined") {//不支持
            element.innerText = text;
        } else {//支持这个属性
            element.textContent = text;
        }
    };
</script>2.兼容代码获取任意标签中间的文本内容

<script>
    function getInnerText(element) {
        if (typeof element.textContent == "undefined") {
            return element.innerText;
        } else {
            return element.textContent;
        }
    };
</script>五.textContent、innerText和innerHTML的区别

textContent、innerText的效果是一样的,所以这里我只用innerText举例
1.设置标签中的文本内容

innerText的效果
<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    function my$(id) {
        return document.getElementById(id);
    };
</script>
<script>
    my$("btn").onclick = function () {
        my$("dv").innerText = "哈哈";//设置文本
        my$("dv").innerText = "<p>这是一个p</p>";//设置html标签的代码
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-10.jpg

innerHTML的效果
<body>
<input type="button" value="按钮" id="btn">
<div id="dv">这是一个div</div>
<script>
    function my$(id) {
        return document.getElementById(id);
    };
</script>
<script>
    my$("btn").onclick = function () {
        my$("dv").innerHTML = "哈哈";
        my$("dv").innerHTML = "<p>这是一个p</p>";//设置Html标签的
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-11.jpg

2.获取标签中的文本内容

innerText的效果
<body>
<input type="button" value="按钮" id="btn">
<div id="dv">
    <p>这是一个p</p>
</div>
<script>
    document.getElementById("btn").onclick = function () {
        //可以获取标签中的文本内容
        console.log(document.getElementById("dv").innerText);
    };
</script>
</body> js中textContent、innerText和innerHTML的用法以及区别-12.jpg

innerHTML的效果
js中textContent、innerText和innerHTML的用法以及区别-13.jpg

3.总结

    如果使用innerText主要是设置文本的,设置标签内容,是没有标签的效果的innerHTML是可以设置文本内容innerHTML主要的作用是在标签中设置新的html标签内容,是有标签效果的想要设置标签内容,使用innerHTML,想要设置文本内容,innerText或者textContent,或者innerHTML,推荐用innerHTMLinnerText可以获取标签中间的文本内容,但是标签中如果还有标签,那么最里面的标签的文本内容也能获取.---获取不到标签的,文本可以获取innerHTML才是真正的获取标签中间的所有内容
本篇博客来自于传智播客视频教程的总结以及笔记的整理,仅供学习交流,切勿用于商业用途
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies 上传

本版积分规则

“红客联盟” 源于黑客,是由一群热爱祖国、坚持正义、开拓进取的电脑爱好者组成。他们不利用网络技术入侵自己国家电脑,而是“维护正义,为国家争光的黑客群体”。我们的口号:“犯我中华者,虽远必诛”!
  • 官方公众号

  • 官方微博

  • 官方QQ群

  • 中国红客联盟 本站已运行|天天打卡 |
    | Copyright © 2009-2079 红客联盟版权所有| 粤ICP备13060014号
  • 本程序由 Tencent Cloud 提供开源 | Copyright © 2001-2020. |