jquery选择器语法,包括eq

时间:2014-02-10 12:38:16

标签: jquery

我有很多像这样的html结构:

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

我想循环选择p元素。我尝试了下面的各种组合,但我似乎无法正确使用语法 - 任何人都可以请帮助

由于

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

}

6 个答案:

答案 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
})