Otrzymuję taki sam wynik z obu metod, ale nie wiem dlaczego. Badanie SO mówi mi:tekst vs innerHTML w JQuery
.text() zwraca TYLKO tekst tego elementu i wszystkie jego elementy potomne, gdzie jako .innerHTML zwraca cały kod HTML w tym elemencie.
Jednak dalsze badania mówią mi o tym: Prawdziwym problemem jest to, że text() i innerHTML działają na zupełnie innych obiektach.
Czy mogę uzyskać wyjaśnienie?
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'
Tak, .text jest metodą kolekcji jQuery, a .innerHTML jest metodą węzłów html. Dwie zupełnie różne rzeczy. Jedna jest implementowana przez przeglądarkę, druga jest implementowana przez jQuery. Każda z nich ma różne cele. –
dodaj element do komórki, a zobaczysz różnicę –