jQuery中text()和html()函数有什么区别?
$("#div").html('<a href="example.html">Link</a><b>hello</b>');
Run Code Online (Sandbox Code Playgroud)
VS
$("#div").text('<a href="example.html">Link</a><b>hello</b>');
Run Code Online (Sandbox Code Playgroud) 给出以下HTML片段:
<p id="para">hello <world></p>
Run Code Online (Sandbox Code Playgroud)
jQuery .text()和.html()方法将返回不同的值...
var text = $('#para').text(); // gives 'hello <world>'
var html = $('#para').html(); // gives 'hello <world>'
Run Code Online (Sandbox Code Playgroud)
jQuery文档说明
该
.text()方法的结果是一个包含所有匹配元素的组合文本的字符串.
和...
在HTML文档中,我们可以
.html()用来获取任何元素的内容.如果选择器表达式与多个元素匹配,则仅返回第一个HTML内容.
但与此特定的差异<和>似乎并没有被记录任何地方.
任何人都可以评论这种差异的理由吗?
多一点调查表明,价值观.text()和.html()匹配那些从本地JavaScript innerText并innerHTML分别调用(当jQuery选择返回一个单一的元素,至少).同样,这并没有反映在jQuery文档中,所以我不能100%确定这种观察是否适用于所有场景.阅读jQuery源代码可以发现,这并不是真正发生的事情.