Методы добавления и фильтрации элементов

Для добавления и фильтрации элементов коллекции предназначены следующие методы.
• add (< Выражение>) — добавляет элементы в коллекцию. В качестве параметра
можно указать HTML-элемент, селектор, коллекцию DOM-элементов или объект
jQuery. Возвращает новую коллекцию элементов. Создадим элемент, затем доба
вим к нему новый HTML-элемент и выведем полученную коллекцию в конец со
держимого всех тегов <div>.


$ ("<span>Текст</span>").add("<b>Новый элемент</b>").appendTo("div");
Найдем коллекцию всех тегов <span>, добавим к ним элемент с идентификатором div1, а затем выведем текст во всех элементах коллекции.

$("span").add("#div1").html("Новый текст"); Передадим коллекцию DOM-элементов и объект jQuery.
$("span").add($("div").get()).html("Новый текст"); // DOM $( "span").add($("div")).html("Новый текст"); // jQuery

• not {<Параметр>) — позволяет удалить определенные элементы из коллекции.
В качестве параметра может быть указан селектор, DOM-элемент, массив DOM-
элементов или объект jQuery. Получим коллекцию всех тегов <div>, удалим из
коллекции элемент с идентификатором div1, а затем выделим оставшиеся эле
менты коллекции.

$("div").not("#div1").сss("background-color", "red");
Удалим из коллекции первый элемент, передав в качестве параметра DOM-элемент.

$("div").not($("div:first").get(0)).сss("background-color", "red");
Теперь исключим из коллекции все четные элементы, передав массив DOM-элементов.

$("div").not ($( "div:even").get О ).сss("background-color", "red");
Такого же результата можно достичь, если передать объект jQuery.

$ ("div").not ($ ("div:even") ).сss("background-color", "red");
• filter () — позволяет ограничить коллекцию дополнительным условием. В от
личие от метода not (), не удаляет элементы, соответствующие селектору, а на
оборот, оставляет только их. Метод имеет два формата.

filter(<Селектор>)
filter{<Функция обратного вызова>)
В первом формате метода передается селектор. Для примера выделим элемент с определенным идентификатором.

$("div").filter("#div1").сss("background-color", "red");
Второй формат метода позволяет ограничить набор произвольным условием. В параметре <Функция обратного вызова> указывается ссылка на функцию следующего формата.

function <Название функции>([<Индекс>] ) {
// ...
}
Текущий элемент доступен внутри функции через указатель this. Обратите внимание, указатель this ссылается на текущий элемент объектной модели документа, а не на элемент коллекции jQuery. Текущий индекс элемента в коллекции доступен через параметр <Индекс>. Чтобы оставить элемент в наборе, необходимо в функции обратного вызова вернуть значение true. Выделим ссылку с определенным текстом.

$("а").сss("color", "silver").filter(function() {
if (this.innerHTML == "Ссылка 2") { return true;
}).сss("color", "red");

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *