$node.text()和$node.html()有什么区别?

$node.text()/.text( textString )
描述: 得到匹配元素集合中每个元素的合并文本,包括他们的后代

<div class="demo-container">
      <div class="demo-box">Demonstration Box</div>
  <ul>
  <li>list item 1</li>
  <li>list <strong>item</strong> 2</li>
  </ul>
  </div>
$('div.demo-container').text() //Demonstration Box list item 1 list item 2

.html()/.html( htmlString )
描述: 获取集合中第一个匹配元素的HTML内容
在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容。 如果选择器匹配多个元素,那么只有第一个匹配元素的 HTML 内容会被获取。

<div class="demo-container">
  <div class="demo-box">Demonstration Box</div>
  </div>
$('div.demo-container').html()//<div class="demo-box">Demonstration Box</div>

区别:
1、.text().html()方法不同, .text() 在XML 和 HTML 文档中都能使用,而这个.html() 方法对 XML 文档无效。
2、.html()方法可能会引起xss攻击(通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序)。
3、.text() 方法不能使用在 input 元素或scripts元素上。 inputtextarea 需要使用.val()方法获取或设置文本值。得到scripts元素的值,使用.html()方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。