这看起来像是一个非常业余的问题,但我有一个像这样的HTML DOM结构:
<div class="1">
<div class="1a">
<div class="1aa"></div>
</div>
<div class="1b">
<a href="#">Link</a>
</div>
</div>
我需要选择不是直接兄弟姐妹的<div>
,例如:
$(function(){
$('a').click(function(){
// select div .1a
});
});
我无法直接选择div .1a
,因为.1a
可能有多个实例,我需要选择离该链接最近的那个。
任何帮助表示赞赏
答案 0 :(得分:0)
使用.closest(“。1a”)。这将选择最接近图像的所需div。
答案 1 :(得分:0)
$(function(){
$('a').click(function(){
$(this).closest(".1a");
});
});
.closest(“selector”)找到与给定选择器匹配的元素的第一个祖先
参见http://api.jquery.com/closest/ 了解更多信息和示例
答案 2 :(得分:0)
你能明确地把应该选择的div放在链接的rel属性中这个id:
<div class="1">
<div class="1a" id="my-div-1">
<div class="1aa"></div>
</div>
<div class="1b">
<a href="#" rel="my-div-1">Link</a>
</div>
</div>
您的JS代码如下所示:
$(function(){
$('a').click(function(){
var selector = $(this).attr("rel");
$("#"+selector).DOSOMETHING();
});
});
这将始终有效,您不需要认为最接近正确的一个。
约万