首页 > 解决方案 > 如何在跨度类单击中获取 li 的数据 ID

问题描述

我有数据显示使用 ul li 如下。

<ul class="quotes">
    <% for(var i=0; i<quotes.length; i++) {%>
        <li class="quote" data-id= "<%= quotes[i]._id %>">
            <span><%= quotes[i].name %></span> - 
            <span><b><%= quotes[i].price %></b></span>
            <span class="remove">X</span>
        </li>
    <% } %>
</ul>

当我单击带有类删除的跨度时,我想获取该 li 的数据 ID。

我努力了,

$('.remove').on('click',  function(e){
    $(this).attr('data-id');
});

并且还尝试了 $(this).closest(li).. 但我不明白。

标签: jquerynode.jsexpress

解决方案


你可以搜索父母并得到data-id它:

$('.remove').on('click', function() {
    $(this).parents('li').attr('data-id');
});

或者,只需获取直接父级,并使用该data方法获取值:

$('.remove').on('click', function() {
    $(this).parent().data('id');
});

推荐阅读