我有很多像这样的html结构:
<div class="item"><p>...</p></div>
我想循环选择p元素。我尝试了下面的各种组合,但我似乎无法正确使用语法 - 任何人都可以请帮助
由于
for ( var i = 0; i < (jQuery('.item').length); i++ ){
jQuery (' .item'.eq(i)+ 'p');
}
答案 0 :(得分:2)
如果你想获得所有p元素,请使用每个元素而不是for循环:
$(".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
});
有了这个,你将使用类“item”传递你div中的所有p元素,你可以获得元素的索引和值,你的索引将是.eq(index)。但是你不需要使用.eq因为每个都将传递所有元素,你将检查console.log将打印0,1,... n p元素。
答案 1 :(得分:1)
您可以使用.each()进行迭代。您可以使用find()函数获取当前p
对象后代中的所有div
元素。
jQuery('.item').each(function(){
alert($(this).html());
p$ = $(this).find("p");
});
答案 2 :(得分:1)
试试这个:
jQuery('.item:eq('+i+') p');
或
jQuery('.item').eq(i).find('p');
答案 3 :(得分:1)
其他人建议使用.each()
更容易。但如果你想用自己的方式做到:
for ( var i = 0; i < (jQuery('.item').length); i++ ){
jQuery ('.item:eq(' + i + ') p');
}
答案 4 :(得分:1)
试
<script>
jQuery(document).ready(function () {
var paragraphs = $(".item p");
for (i = 0; i < paragraphs.length; i++) {
alert($(paragraphs[i]).html());
}
});
</script>
答案 5 :(得分:0)
使用:
$(".item p").each(function(){
console.log($(this).html()); //html of p tag
})