jQuery单击子元素

时间:2012-02-16 08:14:16

标签: jquery

我有这个列表浏览插件与next&上一页按钮

HTML:

<ul>
  <li><a href="http://www.google.com/">Google</a></li>
  <li><a href="http://www.yahoo.com/">Yahoo</a></li>
  <li><a href="http://www.aol.com/">Aol</a></li>
</ul>

<input type="button" class="prev" value="< Prev" />
<input type="button" class="next" value="Next >" />

JQUERY:

(function(){
    var $lis  = $('ul li'),
        index = 0;

    function li_click(){
        lastIndex = index;
        index = $(this).index();
        $lis.eq(index).addClass('active');
        $lis.eq(lastIndex).removeClass('active');
    }

    $lis.click(function () {
        $lis.eq(index).removeClass('active');
        index = $(this).index();
        $lis.eq(index).addClass('active');
    }).eq(0).addClass('active');

    $('.next, .prev').click(function () {
        $lis.eq(index).removeClass('active');
        if ($(this).hasClass('prev')) {
            index--;
            if (index < 0) {
                index = ($lis.length - 1);
            }
        } else {
            index++;
            if (index >= $lis.length) {
                index = 0;
            }
        }
        $lis.eq(index).addClass('active');
    });
})();

这是Fiddle

这个插件工作正常。但我想在点击下一个/上一个按钮时触发其子元素('a')

例如,我点击下一个按钮&amp;转移到雅虎,然后我想让它的孩子('a')被点击。与prev按钮相同的事情。我想触发新添加的父类('。active')

的子元素('a')

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

这应该有效:

$(".active > a").trigger("click");

答案 1 :(得分:0)

我认为应该这样做:

$lis.eq(index).addClass('active').find('a').trigger('click');