Czy jest jakiś błąd w tym, w jaki sposób jQuery obsługuje selektory podrzędne lub czy brakuje mi czegoś oczywistego? Nie mogę go uruchomić, gdy dziecko jest czymś innym niż *
.Czy jest to błąd w sposobie, w jaki jQuery traktuje selektory podrzędne?
Oto selektor jQuery Używam:
$("#myTable > tr").each(function() {
// do somthing }
);
a struktura tabeli jest:
<table id="myTable">
<tr>
<td><button>someButton</button></td>
<td><textarea>...</textarea></td>
</tr>
</table>
żadne elementy są dopasowane do powyżej selektora #myTable > tr
. Ale dwa selektory wymienione poniżej działają dobrze.
$("#myTable tr") // search all descendants for tr
lub użyć symbolu wieloznacznego, aby dopasować dzieci:
$("#myTable > *") // search all child elements
jakieś pomysły na to, co może być nie tak tutaj?
Dzięki za szybkie odpowiedzi chłopaki! Niestety może wybrać tylko jeden.
Dzięki Andy. Nie wiedziałem, że przeglądarki dodają niejawnie element 'tbody'. Właściwie zawsze korzystam z Inspektora DOM podczas debugowania takich błędów, a element 'tbody' został przez cały czas przyciśnięty, ale jakoś go nie widziałem :) – Anurag