Обратите внимание, что когда вы используете что-то вроде:
// Selecting all <h1> tags.
var headings = $( "h1" );
здесь headings
теперь является элементом jQuery, содержащим все теги <h1>
, уже имеющиеся на странице. Это можно проверить, проверив свойство .length
headings
:
// Viewing the number of <h1> tags on the page.
var headings = $( "h1" );
alert( headings.length );
Таким образом, когда вы используете $("someSelector")
this, вам не нужно будет преобразовывать его снова в объект jQuery, поскольку это уже объект jQuery, и вы можете выполнять с ним все функции jQuery. Но поскольку $("someSelector")
является коллекцией, мы не можем использовать .text()
непосредственно для нее, нам потребуется l oop для каждого элемента в этой коллекции.
Вы можете использовать jQuery .each()
метод здесь, который перебирает объект jQuery, выполняя функцию для каждого соответствующего элемента, например:
$("someSelector").each(function( index ) {
console.log( index + ": " + $( this ).text() );
});
Как упомянуто в документах :
Метод .each()
разработан, чтобы сделать циклические конструкции DOM краткими и менее подверженными ошибкам. При вызове он перебирает элементы DOM, которые являются частью объекта jQuery. Каждый раз, когда выполняется обратный вызов, ему передается текущая итерация l oop, начиная с 0. Что более важно, обратный вызов запускается в контексте текущего элемента DOM, поэтому ключевое слово this относится к элементу.