JQuery中的text vs innerHTML

use*_*681 6 jquery text innerhtml

我从两种方法得到相同的结果,但不知道为什么.关于SO的研究告诉我:

.text()返回JUST该元素及其所有后代元素的文本,其中.innerHTML返回该元素中的所有HTML.

然而,进一步的研究告诉我:真正的问题是text()和innerHTML对完全不同的对象进行操作.

我能澄清一下吗?

HTML

<table id="table2">
<th> Col1 </th>
<th> Col2 </th>
<tbody>
<tr>
<td id="data">456</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

JQuery的

$('td').click(function() {
    var x=$(this).text();
    alert(x); //returns '456'
})

var abc = document.getElementById('data');
var xyz = abc.innerHTML;
    alert(xyz); //also returns '456'
Run Code Online (Sandbox Code Playgroud)

Bil*_*aad 6

.text()将返回该元素中所有文本节点的字符串表示,同时.html()将为您提供所有节点的表示.