我从这两种方法中得到了相同的结果,但不知道为什么。对 SO 的研究告诉我:
.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'