Mam istniejącą kolekcję elementów, które chcę zmienić, jeśli pasują do danego selektora. Chcę zrobić to samo dla potomków tych przedmiotów (rekursywnie). To wydaje się być funkcją jQuery(selector [, context ])
. Jednak wynikowy zestaw nie zawiera elementów nadrzędnych. Też chcę je zapytać. Czy można to zrobić za pomocą jednego polecenia?Jak uwzględnić elementy kontekstu w przestrzeni wyszukiwania przy użyciu jQuery (selektor [, kontekst])
np
var els = $('<div foo="bar">')
$("[foo]", els); // finds nothing
els.filter("[foo]"); // finds div
Ale filtr nie szukać potomków, więc
var els = $('<div foo="bar"><span foo="foobar"></div>')
$("[foo]", els); // finds span
els.filter("[foo]"); // finds div
Jaki jest najlepszy sposób, aby znaleźć zarówno rozpiętość i div? Używaj obu poleceń? Czy istnieje jedno polecenie linii, aby je znaleźć? W każdym razie lepiej?
var els = $('<div foo="bar"><span foo="foobar"></div>')
var selection = $("[foo]", els); // finds inner elements
selection = selection.add(els.filter("[foo]")); // then adds on parents that match the selector
'$ ("[Foo]", Els) .add (ELS)', jest droga, elementy przekazane jako kontekst nie są częścią zaznaczenia. – adeneo
Nie chcę dodawać wszystkich els, tylko elementy w els, które pasują do selektora "[foo]". – AlexMA
@adeneo i musisz upewnić się, że els pasuje do selektora. Następnie staje się wysłanym przykładem. –