JQuery中的text和innerHTML有什么区别?

6
我用两种方法得到了相同的结果,但不确定原因。我的 Stack Overflow 研究告诉我:
.text() 只返回该元素及其所有后代元素的文本,而 .innerHTML 返回该元素中的所有 HTML。 然而,进一步的研究告诉我: 真正的问题在于 text() 和 innerHTML 在完全不同的对象上运行。
我能得到一些澄清吗?
HTML
<table id="table2">
<th> Col1 </th>
<th> Col2 </th>
<tbody>
<tr>
<td id="data">456</td>
</tr>
</tbody>
</table>

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'

是的,.text是jQuery集合的一个方法,而.innerHTML是html节点的一个方法。它们是完全不同的东西。一个由浏览器实现,另一个由jQuery实现。它们也有不同的目的。 - Kevin B
3
给细胞添加一些元素,你会看到不同。 - Dr.Molle
1个回答

6

.text() 方法将返回元素中所有文本节点的字符串表示,而 .html() 方法将返回所有节点的表示形式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接