我的页面上有一系列div元素,如下所示:
<div class="wrap">
<div class="child1">
<a name="xyz"></a>
<div>
<div class="child2"></div>
<div class="child3">
<a class="anch" onclick="func1()"></a>
<a class="anch" onclick="func2()"></a>
</div>
</div>
我现在在变量中有一个字符串,它可以匹配name
嵌套锚点中的div.child1
个属性之一。我需要遍历所有div.wrap
元素中的所有锚点,如果变量与锚点名称匹配,则自动单击div.child3
中的第二个锚点(func2)。
在jquery中有没有(相对)简单的方法呢?
提前致谢!
答案 0 :(得分:3)
试试这个:
$('a[name=xyz]').on('click', function(event) {
event.preventDefault();
$(this).closest('.wrap').find('.child3 a').eq(1).trigger('click');
});
.eq()
指的是元素索引,它基于零,因此元素2实际上是索引1。
此jsfiddle example表明它正常运作。
我确实在您的链接中添加了href="#"
,因为我认为jQuery(或者通用)点击处理程序不允许在没有href属性的锚标记上执行click事件。
修改强>
只需使用字符串存储名称,然后根据该变量操作选择器即可使其成为动态:
var name = 'xyz';
$('a[name=' + name + ']')...
修改了以下jsfiddle example以显示此内容。