JQuery - как я могу определить, сколько div данного класса существует в данном div? - PullRequest
3 голосов
/ 05 июня 2011

У меня есть такой div:

<div id="x" name="x" class="x" style=""></div>

и содержится в этом div, у меня есть несколько таких div:

<div id="y_1" name="y_1" class="y" style=""></div>
<div id="y_2" name="y_2" class="y" style=""></div>
<div id="y_3" name="y_3" class="y" style=""></div>

и т. Д.

ВОПРОС 1: Как определить, сколько из этих div (class = "y") содержится в контейнере div (class = "x")?- (просто предупреждение ("") с номером, например).

ВОПРОС 2: Как мне сделать что-то с каждым из этих y-делителей (class = "y"), например с функцией, котораяможет поместить букву «Y» во все у-деления, используя $ ('. y'). html ("Y");, например ??

Любую помощь оценили ребята ....

Ответы [ 5 ]

6 голосов
/ 05 июня 2011

Вам необходимо найти элементы в элементе предка.

$('#x div.y').length; // number of class y elements under element x
$('#x div.y').html('Y'); // run a jQuery method on the y elements

См. API:

4 голосов
/ 05 июня 2011
alert($('.x .y').length);

$('.x .y').html('Y');
2 голосов
/ 05 июня 2011

Попробуйте это.

alert($('.x .y').length)

http://api.jquery.com/length/

2 голосов
/ 05 июня 2011

//instead of $('#x .y') you can also use $('#x').find('.y')
alert($('#x .y').length())

$('#x .y').each(function(){
    //do what you want to $(this)
    $(this).html('Y');
});
1 голос
/ 05 июня 2011

1. Метод length() возвращает общее количество возвращенных элементов:

alert($('.x .y').length());

2. Вы были правыкак установить содержимое всех возвращаемых элементов:

$('.x .y').html('Y');

...