Поиск элементов с заданным содержимым

.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="//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~

Ссылки

Поисковые ключи:
  • фильтрация по содержимым элементам
  • has()
  • .has()