js中 value、innerHTML、innerText和textContent的区别

  1. value:应用于表单的输入框(textarea除外)
  2. innerHTML:可以写入HTML代码,写入的HTML代码可以被解析,获得时候也可以获得HTML代码
  3. innerText:获得内容的时候,会忽略HTML代码,写入HTML代码不能解析。获得内容与HTML解析的内容一样
  4. textContent:获得内容的时候,会忽略HTML代码,写入HTML代码不能解析。获取的内容与源码内容一样
 <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>修改元素的文本</title>
        <style type="text/css">
            div{
                width:300px;
                height:300px;
                float:left;
                border:1px solid blue;
                margin-left:50px;
            }
        </style>
    </head>
    <body>
        <div><p>i love you</p></div>
        <div></div>
        <div></div>
        <div></div>
        <div>
            <p>J                 
            哥                 最    帅</p>
            <a href="http://www.xxoo.com">xx                oo</a>
        </div>
        <div></div>

        <script type="text/javascript">
        var divs=document.getElementsByTagName('div');
        /*
            value :应用于表单的输入框---textarea
            innerHTML:与后两者的区别,可以写入html代码会被解析,并且可以获得html代码
            innerText:获得内容的时候,都会忽略html代码
            textContent:获得内容的时候,都会忽略html代码
        */
        //读取内容
        console.log(divs[0].innerHTML);
        console.log(divs[0].innerText);
        console.log(divs[0].textContent);

        //写入内容
        divs[1].innerHTML='<p>i miss you</p>';
        divs[2].innerText='<p>i miss you</p>';
        divs[3].textContent='<p>i miss you</p>';

        /*
            比较innerText和textContent的区别 
                innerText 获取的内容和html解析的内容一样
                textContent获取的内容与源代码的内容一样
        */
        console.log('%c'+divs[4].innerText,'color:red;');
        console.log(divs[4].textContent);

        var str="<p>哥                 最    帅</p> <a href='http://www.xxoo.com'>xx                oo</a>";
        // divs[5].innerText=str;
        // divs[5].textContent=str;

        </script>
    </body>
    </html>


在 JavaScript ,`.value`、`.innerHTML` 和 `.innerText` 是用于获取或设置元素内容的属性。 `.value` 属性通常用于表单元素,如输入框和下拉列表。它用于获取或设置表单元素的值。例如,如果有一个输入框元素: ``` <input type="text" id="myInput"> ``` 您可以使用以下代码获取或设置它的值: ``` var inputElement = document.getElementById("myInput"); var inputValue = inputElement.value; // 获取输入框的值 inputElement.value = "Hello, world!"; // 设置输入框的值 ``` `.innerHTML` 属性用于获取或设置元素的 HTML 内容。例如,如果有一个 div 元素: ``` <div id="myDiv"></div> ``` 您可以使用以下代码获取或设置它的 HTML 内容: ``` var divElement = document.getElementById("myDiv"); var htmlContent = divElement.innerHTML; // 获取 div 的 HTML 内容 divElement.innerHTML = "<p>Hello, world!</p>"; // 设置 div 的 HTML 内容 ``` `.innerText` 属性用于获取或设置元素的文本内容,但与 `.innerHTML` 不同,它会忽略 HTML 标签。例如,如果有一个 p 元素: ``` <p id="myP">Hello, <strong>world</strong>!</p> ``` 您可以使用以下代码获取或设置它的文本内容: ``` var pElement = document.getElementById("myP"); var textContent = pElement.innerText; // 获取 p 的文本内容,返回 "Hello, world!" pElement.innerText = "Goodbye, world!"; // 设置 p 的文本内容 ``` 需要注意的是,`.innerHTML` 和 `.innerText` 都可以用于获取和设置元素的内容,但它们之间存在一些差异。`.innerHTML` 可以用于设置元素的 HTML 内容,而 `.innerText` 仅用于设置元素的文本内容。此外,`.innerHTML` 可能会导致安全问题,因为它允许插入任意的 HTML 代码。因此,在设置 `.innerHTML` 时应格外小心。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值