Javascript jquery最接近于';我不想工作

Javascript jquery最接近于';我不想工作,javascript,jquery,closest,Javascript,Jquery,Closest,我在页面上重复了一个旁边有一个div的图像,如下所示: <img src="/img/productspage/questionMark.jpg" class="prodQuestionMark" /> <div class="vuQuestionBubble"> <p>this is where text for the text will go</p> </

我在页面上重复了一个旁边有一个div的图像,如下所示:

 <img src="/img/productspage/questionMark.jpg" class="prodQuestionMark" />
            <div class="vuQuestionBubble">
                <p>this is where text for the text will go</p>
            </div>

它似乎不起作用。。。单击事件正在运行,我可以选择父div与。parent,但似乎无法与最近的div交互。。。有什么想法吗?

最接近的
函数查找元素最近的祖先。实际上,您需要使用
.next('.vuQuestionBubble')

描述:获取第一个祖先 与选择器匹配的元素, 从当前元素开始,然后 向上遍历DOM树

最亲近的人显然是祖先,而不是兄弟姐妹

参考:


休息一下,准备一套装备。

vuQuestionBubble
是一门课

$(this).closest('vuQuestionBubble').show();
=>
$(this).closest('.vuQuestionBubble').show();

最近的
遍历到祖先元素,所以尝试
兄弟('vuQuestionBubble')
最近的
查找祖先,而不是兄弟;此外,您的选择器在开始时缺少一个
(您告诉它查找
vuQuestionBubble
元素,其中您真正指的是带有类“vuQuestionBubble”的
div

在当前结构中,可以使用,因为带有“vuQuestionBubble”的div是下一个元素。然而,如果你改变了你的结构并在它们之间放置了一些东西,
next
对你来说是行不通的

我可能会使用
nextAll(“div.vuQuestionBubble:first”)
nextAll(“vuQuestionBubble:first”)
(链接:,):


这将发现第一个div的类“vuQuestionBubble”,它作为兄弟类跟随
img
,即使它不是紧挨着
img
,因此如果标记稍有变化,代码不太容易受到维护问题的影响。

您仍然需要类选择器(.)True,但不知何故……不完整。;-)谢谢你这么深入的回答。我不知道这些功能。@phili:不用担心,很高兴这有帮助。
$(this).closest('vuQuestionBubble').show();
=>
$(this).closest('.vuQuestionBubble').show();
$(document).ready(function () {
    $('.prodQuestionMark').click(function () {

        $(this).nextAll('div.vuQuestionBubble:first').show();
        // Or without `div`:
        //$(this).nextAll('.vuQuestionBubble:first').show();
    });
});