Справка по селектору JQuery - PullRequest
       8

Справка по селектору JQuery

3 голосов
/ 26 августа 2010

Используя JQuery, как выбрать все элементы с классом x внутри элемента с идентификатором y?

Ответы [ 5 ]

6 голосов
/ 26 августа 2010

Выбор всех потомков с классом x элемента с идентификатором "y".

$("#y .x").each(function () {
   $(this) <- your element
});

Выбор всех потомков с классом x элемента с идентификатором "y".

$("#y > .x").each(function () {
   $(this) <- your element
});
5 голосов
/ 26 августа 2010

$('#y .x') должен сделать это за вас.

обратите внимание, что при этом будут выбраны все потомки с классом x, а не только дети.

4 голосов
/ 26 августа 2010
$("#x .y").doSomething();

$(".y", "#x").doSomething();

$("#x").find(".y").doSomething();

А для ближайших детей:

$("#x > .y").doSomething();

$("#x").children(".y").doSomething();

Посмотрите на мой вопрос здесь, он говорит вам немного больше и охватывает производительность. Какой самый быстрый метод выбора дочерних элементов в jQuery?

2 голосов
/ 26 августа 2010

Использование $("#id .class")

1 голос
/ 26 августа 2010

Там, где у вас есть элемент 1 с id = 'y', и вы хотите, чтобы все это [непосредственные] потомки имели класс = 'x'

$("#y > .x").each(function(){stuff]);

Если вы хотите, чтобы все потомки id = 'y' (не только непосредственные), то вы бы сделали:

$("#y").find(".x").each(function(){stuff});

Очевидно, вы могли бы сделать это умнее (и лучше), добавляя типы элементов, если вы знаете, что они есть. Например, если вы хотите только потомков типа, то:

$("#y > a.x").each(function(){stuff]);

Надеюсь, вы это имели в виду.

...