HTML:
<div id="panel">
<table>
<tr>
<td><input id="Search_NazovProjektu" type="text" value="" /></td>
</tr>
<tr>
<td><input id="Search_Popis" type="text" value="" /></td>
</tr>
</table>
</div>
Muszę wybrać wszystkie dane wejściowe w określonym div.
To nie działa:
var i = $("#panel > :input");
jquery
jquery-selectors
user137348
źródło
źródło
:
jest dla pseudoklas, prawda? Ale chcemy wybrać typ elementu. Dlaczego:
?Potrzebujesz
lub , w zależności od tego, czego dokładnie chcesz (patrz poniżej)
>
będą ograniczać się do dzieci, chcesz wszystkich potomków.EDYCJA: Jak zauważył Nick, istnieje subtelna różnica między
$("#panel input")
a$("#panel :input)
.Pierwsza z nich pobierze tylko elementy typu input, to znaczy
<input type="...">
, ale nie<textarea>
,<button>
i<select>
elementy. Dzięki Nick, sam o tym nie wiedziałem i odpowiednio poprawiłem mój post. Zostawił obie opcje, ponieważ wydaje mi się, że OP również nie był tego świadomy i - technicznie - poprosił o dane wejściowe ... :-)źródło
Metoda „find” może zostać użyta do pobrania wszystkich danych wejściowych podrzędnych kontenera, który został już zapisany w pamięci podręcznej, aby zapisać go przy ponownym wyszukiwaniu (podczas gdy metoda „dzieci” pobierze tylko bezpośrednie elementy podrzędne). na przykład
źródło
Jeśli używasz frameworka takiego jak Ruby on Rails lub Spring MVC, może być konieczne użycie elementów div z nawiasami kwadratowymi lub innymi znakami, których nie możesz używać,
document.getElementById
a to rozwiązanie nadal działa, jeśli masz wiele wejść tego samego typu.Ten przykład pokazuje, jak wyczyścić dane wejściowe, na przykład musisz to zmienić.
źródło
powinno działać :-)
> będzie pobierać tylko bezpośrednie dzieci, żadnych dzieci dzieci
: służy do używania pseudoklas, np. : hover itp.
o dostępnych selektorach css pseudoklas można przeczytać tutaj: http://docs.jquery.com/DOM/Traversing/Selectors#CSS_Selectors
źródło
:input
jest selektorem, api.jquery.com/category/selectors/form-selectors Gdyby miał<textarea>
przycisk lub, toinput
by go nie znalazł:input
, więc jest różnica.oto moje podejście:
Możesz go użyć w innym przypadku.
źródło