jquery 模拟单击一个元素,该元素是被单击元素的父元素的父元素的兄弟元素

deyfvvtc  于 2023-06-29  发布在  jQuery
关注(0)|答案(3)|浏览(162)

我想模拟点击一个元素,它是一个被点击元素的父元素的父元素的兄弟元素。li中的a紧挨着li中的a。这不起作用:
JQUERY

$('li.product').click(function() {
    $('a.active').parent().parent().next().find(a).click();

        });

HTML

<ul>
 <li class="product"><li>
 <li class="product"></li>
 <li class="product"></li>
</ul>

<ul>
    <li id="">
    <div class="page">
    <a class="active" href="javascript:function Z(){Z=""}Z()">1</a>
    </div>
    </li>
    <li id="">
    <div class="page">
    <a class="" href="javascript:function Z(){Z=""}Z()">2</a>
    </div>
    </li>
</ul>
hjqgdpho

hjqgdpho1#

您在.find()中缺少引号''
应该是这样的http://jsfiddle.net/SbDKD/

$('a.active').parent().parent().next().find('a').click();
6pp0gazn

6pp0gazn2#

下面的工作对我来说

$('li.product a.active').click(function() {
    $(this).parent().parent().next().find('a').click();
    return false;
});

假设我们有一个HTML,如:

<li class="product">
  <div class="page">
     <a class="active" href="javascript:alert('click 1')">1</a>
   </div>
</li>
<li class="product" onclick="alert('tickle')">
    <div class="page">
        <a onclick="alert('tickle me')" href="javascript:alert('click 2');">2</a>
    </div>
</li>

(当然,HTML中的内联onclick处理程序只是为了方便测试)。

zpjtge22

zpjtge223#

我会把click监听器放在a标记上,然后使用.parents()函数来查找父li,以便不管你有多深都能找到它。然后在下一个元素中找到a。

$('a').click(function() {
  $(this).parents('li').next().find('a').trigger('click');

});

唯一的问题是,它们都将触发其以下元素。但如果你只有两个,它应该工作。

相关问题