2016-02-14 4 views
0

Как работает функция jQuery, хотя find возвращает коллекцию элементов DOM, если этот набор результатов содержит только один элемент, я могу получить доступ к его атрибутам данных?jQuery найти только с одним элементом в результирующем наборе

Так что, если у меня есть следующие:

<div> 
<input class="user-input" data-user-id="2"/> 
</div> 

И я:

var userInputs = $('div').find('.user-input'); 

я могу сделать:

$(userInputs).data('user-id') 

Я предположил бы, что я должен сделать $(userInputs).first.data('user-id')

+0

'find()' будет возвращать объект jquey, который представляет собой массив javascript элементов DOM, расширенных с помощью методов jquery. –

+0

Почему мне не нужно делать 'first' tho? Почему я могу получить доступ к атрибуту данных, не делая сначала? –

ответ

0

ель Элемент st является корнем дерева, вам нужно получить дочерние элементы первого элемента. , если общий набор результатов содержит только один элемент, он может быть пустым или иметь детей с соответствующей информацией, тогда вам нужно взять первый элемент, как в массиве - [0]. Обновите свой код для поддержки всех сценариев.

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