0

下面是我正在处理的代码,我的目标是,每当用户单击带有“click_me”类的链接时,我想提醒它的父母兄弟姐妹的内容,即“你好朋友”或“你好吗? ”。

我试过做下面的代码,但没有用。

 $('.click_me').click(function(event){
                    alert($(this).parent('div').closest('p').html());
                });



<li>
    <div>
        <a href="#" class="click_me">Click Me</a>
    </div>
    <p>Hello Friends!</p>
</li>


<li>
    <div>
        <a href="#" class="click_me">Click Me</a>
    </div>
    <p>How are you?!</p>
</li>
4

2 回答 2

2

.closest()将仅查找祖先元素,在您的情况下,该p元素不是祖先元素,它是兄弟元素

你需要使用兄弟姐妹()

alert($(this).parent('div').siblings('p').html());

演示:小提琴

或者在这种情况下,它是下一个元素使用.next()

alert($(this).parent('div').next('p').html());

演示:小提琴

于 2013-10-06T00:59:43.057 回答
2

您可以使用next选择其父元素的下一个元素。您的选择器的问题是您正在向上看,使用closest哪个测试本身并向上看 DOM 树。

alert($(this).closest('div').next().html());

小提琴

于 2013-10-06T01:01:12.913 回答