4

谁能告诉我如何从“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>

谢谢

4

3 回答 3

4

你必须上一层,因为它<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/

于 2013-02-06T12:01:37.907 回答
1

next寻找兄弟,但该a元素没有兄弟。它的父母li这样做:

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

另外,length是一个数字,不要与true. 如果您想知道 if lengthis not 0,则上述方法有效。

于 2013-02-06T11:59:25.570 回答
0

不知道你想做什么,但

$('.active_page');

本身应该给你<a>元素

于 2013-02-06T11:59:45.823 回答