我有以下标记
<div id="FirstDiv">
<div class="MyClass">
<span>
<a href="#">link 1</a>
<a href="#">link 2</a>
</span>
</div>
</div>
<div id="SecondDiv">
<div class="MyClass">
<span>
<a href="#">link 1</a>
<a href="#">link 2</a>
</span>
</div>
</div>
如何在DIV“SecondDiv”中选择<a>
标记元素?
其实我在做
$(".MyClass > a").click(function (event) {
但是这也会选择第一个div的链接。
答案 0 :(得分:4)
$('#SecondDiv a')
这会使用SecondDiv
元素的ID,并选择all descendant <a>
元素。
您使用的是the >
child selector,它只会选择直接的孩子。你是对的,它会从.MyClass
元素中选择。
另一种可能性是将a .delegate()
放在SecondDiv
元素上,以匹配嵌套<a>
元素的点击次数。
$('#SecondDiv').delegate( 'a', 'click', function() {
// your code
});
编辑:在下面引用您的评论时,您可以将其限制在<a>
元素中的.MyClass
元素,方法是将其放在选择器中。
$('#SecondDiv .MyClass a')
现在不会包含任何不属于<a>
的{{1}}元素。
答案 1 :(得分:2)
您应该在此处使用ID选择器(#)而不是类选择器(。)
$("#SecondDiv a").click(function (event) {
答案 2 :(得分:2)
$("#SecondDiv a").click(function(){
alert("Hi-o");
});
答案 3 :(得分:1)
$("#SecondDiv").find("a").click(function(event) {});
答案 4 :(得分:0)