2013-09-04 18 views
5

Mam następujące HTML:jQuery zwraca tylko pierwszy element wejściowy z konsoli dev narzędzi

<form novalidate="" id="loginform" action="" method="post"> 
    <input type="hidden" name="c" id="c" value="abc"> 
    <input type="hidden" name="initiation" id="initiation" value="test1"> 
    <input type="hidden" name="rmo" id="rmo" value="test2"> 

................

Chcę wybrać wszystkie elementy wejściowe, ale kiedy wchodzi:

$("input") 

W konsoli chrom DevTools, mam tylko pierwszy element:

<input type="hidden" name="c" id="c" value="abc"> 

co mogę wpisać, aby uzyskać pełną listę elementów wejściowych?

+2

To jQuery z pewnością otrzyma wszystkie dane wejściowe. Dokładnie to, co robisz, sprawia, że ​​myślisz inaczej? – Pointy

+2

możesz spróbować 'jQuery (" input "). Length' –

+0

Działa to dobrze dla mnie: http://jsfiddle.net/RhMgJ/show/ (nawet jeśli wpiszesz w konsoli' $ ("input") 'after Odwiedzam stronę) – Ian

Odpowiedz

9

To nie jest głupie pytanie. Jest to mylące zachowanie spowodowane przez narzędzia dla programistów Chrome.

To, co się tutaj wydarzyło, to że nie uwzględniłeś JQuery. Google Chrome ma zmienną/funkcję $ dostępną w narzędziach dla programistów Chrome. To różni się od jQuery.

Oto dokumentacja o tym: https://developers.google.com/chrome-developer-tools/docs/commandline-api#selector

Dokumentacja w tym przypadku mówi:

Zwraca odwołanie do pierwszego elementu DOM z funkcji w określonym CSS selector.This jest aliasem dla document.querySelector() Funkcja.

Tak więc, to jest coś w stylu jQuery, wystarczająco dużo, aby cię oszukać, jeśli się tego nie spodziewasz. Jest dostępny tylko w narzędziach programistycznych. I jest aliasing podczas instalacji jQuery, która instaluje się w window.$, więc nigdy nie wiesz (spróbuj drukować $ i window.$ w konsoli na pustym oknie).

Napraw to, dodając jQuery do dokumentu HTML.

+2

Dzięki, to ma sens. Innym sposobem (bez jquery) na podstawie powyższego odniesienia jest wprowadzenie $$ ("input") - To daje tablicę wszystkich danych wejściowych. Dzięki za wskazanie tego. Zakładałem, że $ znaczy jquery - Bill – user61629

Powiązane problemy