Я получаю тот же результат от обоих методов, но не уверен, почему. Исследование SO сообщает мне следующее:текст vs innerHTML в JQuery
.text() возвращает JUST текст этого элемента и все его дочерние элементы, где asinnerHTML возвращает весь 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. У каждого из них также есть разные цели. –
добавьте элемент в ячейку, и вы увидите разницу –