Osobiście to, co zrobiłem w przeszłości, daje im wspólny identyfikator klasy i użyłem go do ich wyboru. Może nie być idealny, ponieważ mają określoną klasę, która może nie istnieć, ale znacznie ułatwia wybór. Upewnij się tylko, że jesteś wyjątkowy w swoich nazwach klas.
tzn. w powyższym przykładzie użyłbym twojego wyboru według klasy. Jeszcze lepiej byłoby zmienić nazwę klasy z pogrubionej na „tcol1”, aby nie uzyskać żadnych przypadkowych inkluzji w wynikach jQuery. Jeśli pogrubienie faktycznie odnosi się do klasy CSS, zawsze możesz podać oba we właściwości class - tj. „Class =" tcol1 pogrubiony ”.
Podsumowując, jeśli nie możesz wybrać według nazwy, użyj skomplikowanego selektora jQuery i zaakceptuj wszelkie powiązane wyniki wydajności lub użyj selektorów klasy.
Zawsze możesz ograniczyć zakres jQuery, włączając nazwę tabeli, tj. $ ('# TableID> .bold')
To powinno ograniczyć jQuery do przeszukiwania „świata”.
Nadal można go zaklasyfikować jako skomplikowany selektor, ale szybko ogranicza wyszukiwanie w tabeli o identyfikatorze „#tableID”, więc ogranicza przetwarzanie do minimum.
Alternatywą tego, jeśli szukasz więcej niż 1 elementu w # table1, byłoby sprawdzenie tego osobno, a następnie przekazanie go do jQuery, ponieważ ogranicza to zakres, ale oszczędza trochę przetwarzania, aby wyszukać za każdym razem.
var tbl = $('#tableID');
var boldElements = $('.bold',tbl);
var rows = $('tr',tbl);
if (rows.length) {
var row1 = rows[0];
var firstRowCells = $('td',row1);
}