我想模拟一个元素的点击,该元素是被点击元素的父元素的兄弟元素.i.e。 li中的a与li中的a.active在其中。这不起作用:
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>
答案 0 :(得分:2)
''
中缺少引号.find()
:
应该是这样的:http://jsfiddle.net/SbDKD/
$('a.active').parent().parent().next().find('a').click();
答案 1 :(得分: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处理程序,仅用于方便测试)。
答案 2 :(得分:0)
我会将click监听器放在a标签上,并使用.parents()函数找到父li,以便找到它,无论你有多深。然后在下一个元素中找到a。
$('a').click(function() {
$(this).parents('li').next().find('a').trigger('click');
});
唯一的问题是它们都会触发它们的后续元素。但如果你只有两个它应该工作。