查找<a> with a specific name, and then click another </a> <a> in that div</a>

时间:2012-07-23 16:05:41

标签: jquery

我的页面上有一系列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中有没有(相对)简单的方法呢?

提前致谢!

1 个答案:

答案 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以显示此内容。