jQuery查找子元素时出现问题

时间:2010-11-18 23:04:04

标签: jquery

嗨,我有那个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未定义。为什么?

2 个答案:

答案 0 :(得分:2)

你可以在这里使用.siblings(),如下所示:

var myId = $(this).siblings('.img_class').find("img").attr("id");

对于为什么?部分:因为标记中没有.thumb-img ...也没有必要重新包装结果,你可以继续链。< / p>

答案 1 :(得分:0)

最近的 jQuery函数查找与选择器匹配的最接近元素,但仅查找当前选择的祖先。 cf jquery.closest documentation

因此,你不能使用最接近的东西来找到兄弟姐妹。

尼克的回答肯定会帮助你解决问题。