1
<div class="chatbox-window">
    <div class="chatbox-title">
        <div class="chatbox-username"></div><div class="chatbox-close"><span class="chatbox-close-button"></span></div>
    </div>
    <div class="chatbox-content"><div class="chatbox-msg"></div></div>
    <div id="chatbox-posting"></div>
</div>

    $(".chatbox-close-button").click(function(){
        $(this).parent(".chatbox-close").parent(".chatbox-title").parent(".chatbox-window").remove();
    });

下面,我使用:

$(this).parent(".chatbox-close").parent(".chatbox-title").parent(".chatbox-window") to get the ".chatbox-window"

但:

有没有更短的方法来获得.chatbox-window

附言。在不更改HTML代码的情况下。

4

4 回答 4

1

利用parents()

官方文件

描述:获取当前匹配元素集中每个元素的祖先,可选地由选择器过滤。

$(this).parents(".chatbox-window").remove();
于 2013-03-14T05:14:21.747 回答
0

使用.closest()

对于集合中的每个元素,通过测试元素本身并向上遍历其在 DOM 树中的祖先来获取与选择器匹配的第一个元素。

$('.chatbox-close-button').click(function(){
    $(this).closest('.chatbox-window').remove();
});

演示:菲德尔

于 2013-03-14T05:17:22.867 回答
0
 $(this).parents('div:eq(0)').remove();
于 2013-03-14T05:17:28.023 回答
0

您可以使用 jquery 最接近()。文档在这里

$(this).closest('.chatbox-window').remove()
于 2013-03-14T05:17:41.480 回答