Поиск элементов с заданным содержимым
.has()
Фильтрует набор выбранных элементов, оставляя только те, которые имеют определенных потомков. Метод имеет два варианта использования:
.has(selector):jQuery1.4
Фильтрует набор выбранных элементов, оставляя только те, которые имеют потомков, соответствующих заданному селектору.
.has(DOMelmt):jQuery1.4
Фильтрует набор выбранных элементов, оставляя только тот, который содержит внутри заданный DOM-элемент.
Примеры использования:
$("div").has("p") | вернет div-элементы, внутри которых есть элементы p (параграфы). |
$("div").has(".lBlock") | вернет div-элементы, внутри которых есть элементы с классом lBlock. |
$(.lBlock).has("div") | вернет с классом lBlock, внутри которых есть div-элементы. |
В действии
Выделим списки, которые содержат в себе элементы с классом stop:
~lt~!DOCTYPE html~gt~ ~lt~html~gt~ ~lt~head~gt~ ~lt~style~gt~ ul{ float:left; list-style-type:none; margin:5px; } ~lt~/style~gt~ ~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~ ~lt~/head~gt~ ~lt~body~gt~ ~lt~ul~gt~ ~lt~li~gt~Элемент 1-a~lt~/li~gt~ ~lt~li class="stop"~gt~Элемент 1-b~lt~/li~gt~ ~lt~li~gt~Элемент 1-c~lt~/li~gt~ ~lt~li class="start"~gt~Элемент 1-d~lt~/li~gt~ ~lt~/ul~gt~ ~lt~ul~gt~ ~lt~li~gt~Элемент 2-a~lt~/li~gt~ ~lt~li~gt~Элемент 2-b~lt~/li~gt~ ~lt~li class="start"~gt~Элемент 2-c~lt~/li~gt~ ~lt~li~gt~Элемент 2-d~lt~/li~gt~ ~lt~/ul~gt~ ~lt~ul~gt~ ~lt~li~gt~Элемент 3-a~lt~/li~gt~ ~lt~li class="stop"~gt~Элемент 3-b~lt~/li~gt~ ~lt~li class="start"~gt~Элемент 3-c~lt~/li~gt~ ~lt~li~gt~Элемент 3-d~lt~/li~gt~ ~lt~/ul~gt~ ~lt~script~gt~ $("ul").has(".stop").css("background-color", "yellow") ~lt~/script~gt~ ~lt~/body~gt~ ~lt~/html~gt~