2013-09-04 2 views
5

У меня есть следующий HTML:JQuery возвращает только первый входной элемент из Dev инструментов консоли

<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"> 

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

Я хочу, чтобы выбрать все входные элементы, но когда я ввожу:

$("input") 

В консоли Chrome DevTools, я получаю только первый элемент:

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

что я могу ввести, чтобы получить полный список элементов ввода?

+2

Этот jQuery определенно получит все входные данные. То, что вы делаете, заставляет вас думать иначе? – Pointy

+2

вы можете попробовать 'jQuery (« input »). Length' –

+0

Он отлично работает для меня: http://jsfiddle.net/RhMgJ/show/ (даже если я набираю консоль' $ ("input") 'после Я нахожусь на странице) – Ian

ответ

9

Это не глупый вопрос. Это на самом деле запутанное поведение, проявляемое инструментами разработчика Chrome.

Что здесь произошло, так это то, что вы не включили JQuery. Google Chrome имеет переменную/функцию $, доступную в инструментах разработчика Chrome. Это отличается от jQuery.

Вот документация об этом: https://developers.google.com/chrome-developer-tools/docs/commandline-api#selector

документация в данном случае говорит:

Возвращает ссылку на первый DOM элемент с заданным CSS selector.This функция является псевдонимом для document.querySelector().

Итак, это вроде работает как jQuery, достаточно, чтобы обмануть вас, если вы этого не ожидаете. И это доступно только в инструментах разработчика. И это псевдоним, когда вы устанавливаете jQuery, который устанавливает себя в window.$, поэтому вы никогда не узнаете (попробуйте напечатать $ и window.$ в консоли в пустое окно).

Исправить это, добавив jQuery в свой HTML-документ.

+2

Спасибо, это имеет смысл. Другой способ (без jquery), основанный на вашей ссылке выше, - ввести $$ («вход»). Это дает массив всех входов. Спасибо за указание на это. Я предположил, что $ означает jquery - Bill – user61629

Смежные вопросы