下一个兄弟中的元素的jQuery选择器

时间:2013-02-06 11:56:58

标签: jquery jquery-selectors

有人能告诉我如何从'active_page'类中选择'li'中的'a'吗? 我尝试了以下但是它不起作用:

if($('.active_page').next('.page_link').length==true){
    go_to_page(new_page);
}


<ul>
    <li>
        <a class="previous_link" href="javascript:go_to_previous();">Prev</a>
    </li>
    <li>
        <a class="page_link active_page" href="javascript:go_to_page(0)" longdesc="0">1</a>
    </li>
    <li>
        <a class="page_link" href="javascript:go_to_page(1)" longdesc="1">2</a>
    </li>
    <li>
        <a class="page_link" href="javascript:go_to_page(2)" longdesc="2">3</a>
    </li>
    <li>
        <a class="next_link" href="javascript:go_to_next();">Next</a>
    </li>
</ul>

由于

3 个答案:

答案 0 :(得分:3)

你必须上升一级,因为它是兄弟姐妹的<li>

if ($(".active_page").parent().next().children('.page_link').length) {

}

如果您对此有点啰嗦,可以使用索引:

if ($(".page_link").eq($(".active_page").index("li .page_link") + 1)).length) {

}

只是为了证明这两者都有效:http://jsfiddle.net/ExplosionPIlls/t5NDX/

答案 1 :(得分:1)

next寻找兄弟姐妹,但a元素没有兄弟姐妹。其父li执行:

if($('.active_page').parent().next().find('.page_link').length){
    go_to_page(new_page);
}

此外,length是一个数字,请勿将其与true进行比较。如果您想知道length是否不是0,则上述情况有效。

答案 2 :(得分:0)

不确定你要做什么,但

$('.active_page');

本身应该为您提供<a>元素