2014-02-10 6 views
-1

У меня есть ряд HTML структур как это:JQuery синтаксис селектора включая эк

<div class="item"><p>...</p></div> 

я хочу циклы через них выбор р элементы. Я пробовал различные комбинации ниже, но я не могу показаться, чтобы получить правильный синтаксис - может кто-нибудь, пожалуйста, помогите

Благодарности

for (var i = 0; i < (jQuery('.item').length); i++){ 
    jQuery (' .item'.eq(i)+ 'p'); 

}

+0

Используйте [.each()] (http://api.jquery.com/jquery.each/) – Vucko

ответ

1

попробовать

<script> 
    jQuery(document).ready(function() { 
     var paragraphs = $(".item p"); 
     for (i = 0; i < paragraphs.length; i++) { 
      alert($(paragraphs[i]).html()); 
     } 


    }); 
</script> 
+0

thanks - Я хотел использовать этот метод - отчасти для того, чтобы понять, как помещать переменные в селектор, который трудно найти. – maxelcat

1

Вы можете использовать .each() для итерации. Вы можете использовать функцию find(), чтобы получить все элементы p у потомков текущего объекта div.

jQuery('.item').each(function(){ 
    alert($(this).html()); 
    p$ = $(this).find("p"); 
}); 
1

попробовать это:

jQuery('.item:eq('+i+') p'); 

или

jQuery('.item').eq(i).find('p'); 
+0

Спасибо, что я хотел. Мне было трудно найти документацию о том, кто помещает переменную в селектор. – maxelcat

+0

вы можете попробовать обновленный. – Jai

0

использование:

$(".item p").each(function(){ 
console.log($(this).html()); //html of p tag 
}) 
1

Это проще использовать .each(), как другие предложили. Но если вы хотите использовать, как вы могли бы сделать:

for (var i = 0; i < (jQuery('.item').length); i++){ 
    jQuery ('.item:eq(' + i + ') p'); 
} 
2

Если и хотите, чтобы получить все п элементов делают это с вместо этого каждый для цикла:

$(".item p").each(function(index,value){ 
    console.log(index);// will print the position of p element 
    console.log($(this).html());// will show you the content of p element 
}); 

С этим вы будете передавать все элементы p внутри своего div с классом «item», а u можете получить индекс и значение элемента, ваш индекс будет .eq (index). Но вам не нужно использовать .eq, потому что каждый будет проходить для всех элементов, и вы убедитесь, что console.log будет печатать 0,1, ... n p элементов.

Смежные вопросы