innerHTML与innerText的区别

innerHTML与innerText的区别

innerHTML和innerText都是元素的属性,通过修改这个元素的属性可以达到修改元素内容的目的。但是二者之间略有不同

innerHTML

表示元素所有的后代html。该范围包括文本节点,注释节点,元素节点等内容。在读写该属性时,我们可以获取一个字符串,这个字符串包括元素内部的内容,包含空格,换行,注释。

innerText

表示元素所有的文本内容,包括文本节点,子元素和后代元素的文本节点。值得注意的是不包括注释内容,设置样式为display为none的话,也不会包含在内。

示例

<html>
	<head><title>innerHTML与innerText的区别</title></head>
	<body>
		<div id="div1">
			<p id="p1">hello world </p>
		</div>
		<script>
			var div1 = document.getElementById("div1");
			alert(div1.innerHTML);    // <p id="p1">hello world </p>
			alert(div1.innerText)    // hello world
		</script>
	</body>
</html>

innerHTML指的是***从对象的起始位置到终止位置的全部内容,包括Html标签*
innerText 指的是
从起始位置到终止位置的内容,但它去除Html标签**。
示例(赋值)

<body>
    <button>显示当前系统时间</button>
    <div>某个时间</div>
    <script>
      // 当我们点击了按钮,div里面的文字会发生改变

      // 1获取元素
      var btn = document.querySelector('button')
      var oDiv = document.querySelector('div')

      // 2 注册事件
      btn.onclick = function () {
        // oDiv.innerText = '2022-8-10'
        // oDiv.innerHTML = '2022-8-10'

        // oDiv.innerText = "<a href='#'>超链接</a>" 
        oDiv.innerHTML = "<a href='#'>超链接</a>"

        /* 
        区别:
        innerText不识别html标签,去掉空格和换行
        innerHTML识别html标签,保留空格和换行
        
        */
      }
    </script>
  </body>
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: innerHTMLinnerText都是JavaScript中常用的属性,用于获取或设置HTML元素的内容。它们的区别在于: 1. innerHTML获取或设置的是元素的HTML内容,包括标签和文本内容,而innerText只获取或设置元素的文本内容,不包括标签。 2. innerHTML可以用于修改元素的HTML结构,包括添加、删除、替换元素和属性等操作,而innerText只能修改元素的文本内容。 3. innerHTML会触发浏览器的重绘和重排,因为它会改变元素的结构和样式,而innerText只会改变元素的文本内容,不会影响元素的结构和样式。 因此,在使用innerHTMLinnerText时,需要根据具体的需求选择合适的属性。如果需要修改元素的HTML结构,应该使用innerHTML;如果只需要修改元素的文本内容,应该使用innerText。 ### 回答2: innerHTMLinnerTextJavaScript中常用的两个属性,都用于操作HTML元素的文本内容。但是两者有着不同的区别。 首先,innerHTML是元素的一个属性,它返回元素的HTML内容,包括HTML标签、文本和属性。它可以修改元素的HTML内容,允许插入新的HTML元素或者改变元素的样式和属性。 例如,我们可以使用innerHTML将一个段落的文本内容替换成一个新的段落标签,这个新的标签可以拥有不同的颜色、字体和文本内容。 而innerText是元素的另一个属性,返回元素的纯文本内容,没有包含任何HTML标签。与innerHTML不同,innerText不能修改HTML结构,因此它通常用于操作那些只包含文本内容的元素。 此外,innerHTML的返回结果可能会包含一些浏览器自动在HTML中添加的节点(例如空格或换行符),这些节点在innerText中是不会被包含的。 在使用innerHTMLinnerText时还需要注意安全问题。由于innerHTML可以插入任意的HTML代码,因此会存在一定的安全风险,可能会受到XSS攻击。而innerText没有这个问题,因为它只能处理纯文本内容。 综上所述,innerHTMLinnerText有着不同的用途和特点。我们应该根据需要选择合适的方法来操作HTML元素的文本内容,同时注意相关的安全问题。 ### 回答3: innerHTMLinnerText是两个常用的Web开发术语。它们都用于处理HTML元素的内容属性,但是它们有几个不同之处。 innerHTML是一个属性,它表示某个元素的HTML内容。这个属性可以被读、写和修改,允许我们在网页中动态地更新和改变HTML内容。这样的话,我们就可以通过编程来更新网页中的内容,而无需修改HTML文件本身。innerHTML可以引用其他元素或属性,例如文本,图像,链接,样式和脚本。innerHTML属性非常强大,它可以轻松地创建动态的HTML内容,大大简化了Web开发的工作流程。 然而,innerText是表示元素的所有文本内容,但不包括HTML标签。如果一个元素包含嵌套的标签,例如链接、段落或表格,则innerText只返回纯文本,不返回标签。跟innerHTML不同的是,innerText只能被读取,因此不能用于更改HTML内容。它通常用于获取网页中的文本内容而不包括HTML标记。 在实际应用中,如果需要动态更新网页的内容,则应使用innerHTML,它可以轻松地修改网页的结构和布局。然而,如果只需要获取网页中的文本内容,而不需要HTML标记,则应使用innerText,因为它只返回纯文本内容,不包含标签和样式。 总之,innerHTMLinnerText是两个常用的Web开发术语,它们都用于处理HTML元素的内容属性。但是需要注意的是,它们之间有一些不同之处,具体使用要根据实际情况确定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值