jquery选择器获取给定div中的所有锚元素,无论它们嵌套多深?

时间:2011-08-17 01:28:31

标签: javascript jquery

假设有一些标记,例如:

<div id="header">
   <div id="nest-one>
      <a href="#">one</a>
      <div id="nest-two">
         <a href="#">two</a>
         <a href="#">three</a>
       </div>
    </div>
</div>

我希望将单击处理程序绑定到所有标记。

我尝试了以下内容,但似乎没有效果。我知道我错过了一些愚蠢的事情,只是不确定它是什么。

$('#header a').click(function(){alert('on click')});

3 个答案:

答案 0 :(得分:5)

在这一行:

<div id="nest-one>

你错过了关于id的结束双引号。

除此之外,请确保引用HTML元素的任何JavaScript都在文档就绪函数中和/或源代码中的那些元素之后。

答案 1 :(得分:1)

Demo


修改

按照BoltClock的观点:

这实际上是有效的

$('#header a').click(function(){alert('on click')});

答案 2 :(得分:0)

使用$ .live或$ .delgate,这也将绑定到动态添加到DOM的任何未来元素。

示例:

$("#header").delegate("a", "click", function() {
  console.log("%o clicked", this ); // log object in firebug
});