0

我想模拟一个元素的单击,该元素是单击元素的父级的父级的同级元素。即 li 旁边的 li 中的 a.active 在其中。这不起作用:

查询

$('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>
4

3 回答 3

2

您缺少以下''引号.find()

应该是这样的:http: //jsfiddle.net/SbDKD/

$('a.active').parent().parent().next().find('a').click();
于 2013-02-06T17:56:06.913 回答
0

以下对我有用

$('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 处理程序仅用于轻松测试)。

于 2013-02-06T17:56:45.920 回答
0

我会将点击监听器放在 a 标签上并使用 .parents() 函数来查找父 li,以便无论您有多深都能找到它。然后在下一个元素中找到 a 。

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

});

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

于 2013-02-06T18:34:38.440 回答