嗨,我有那个html片段
<span class="container">
<span class="inner">
<span class="img_class">
<img id=img1" />
</span>
<span class="strip"></span>
<span class="abc_class"></span>
</span>
</span>
当用户点击<span class="abc_class"></span>
时,我想获得closest
<span class="img_class">
,然后获取其<img /.>
的ID
为此,我尝试
var myId = jQuery($(this).closest('.img_class')).find("img").attr("id");
点击$(this)
<span class="abc_class">
myId
未定义。为什么?
答案 0 :(得分:2)
你可以在这里使用.siblings()
,如下所示:
var myId = $(this).siblings('.img_class').find("img").attr("id");
对于为什么?部分:因为标记中没有.thumb-img
...也没有必要重新包装结果,你可以继续链。< / p>
答案 1 :(得分:0)
最近的 jQuery函数查找与选择器匹配的最接近元素,但仅查找当前选择的祖先。 cf jquery.closest documentation
因此,你不能使用最接近的东西来找到兄弟姐妹。
尼克的回答肯定会帮助你解决问题。