使用jquery按类获取父元素

使用jquery按类获取父元素,jquery,Jquery,例如,我有以下html结构 <div class="message" data-id="4"> <div> <div class="msg-button"> <span class="sms"></span> </div> <div> <div>

例如,我有以下html结构

<div class="message" data-id="4">
        <div>
            <div class="msg-button">
                <span class="sms"></span>
            </div>
            <div>
                <div>
                    <div>
                        <span class="sms"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>
您需要使用而不是

你需要使用。将仅搜索直接父节点,因为您正在查找匹配的祖先元素
$('.sms')。单击(函数(){
var id=$(this).closest('.message').data(“id”);
警报(id);
})

短讯服务
使用指定的选择器在层次结构中查找祖先

$('.sms').click(function(){
    var id = $(this).closest('.message').data("id");
    alert(id);
});
.家长(选择器)
家长将在DOM中搜索(“.message”).data(“id”)谢谢它能工作,但我还有另一个问题,如果我的跨度不是带有类消息的父级的子级,我应该使用什么来代替方法。有关更多信息,我将提供此提琴:
$('.sms').click(function(){
    var id = $(this).parents('.message').data("id");
    alert(id);
});
$('.sms').click(function(){
    var id = $(this).closest('.message').data("id");
    alert(id);
});