Jon*_*Jon 32 javascript jquery jquery-ui
我有一个无序列表:
<ul id="sortable">
<li id="1" class="ui-state-default">First <a href='#' title='delete' class="itemDelete">x</a></li>
<li id="2" class="ui-state-default">Second <a href='#' title='delete' class="itemDelete">x</a></li>
<li id="3" class="ui-state-default">Third <a href='#' title='delete' class="itemDelete">x</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想删除<li>从<ul>.我已经处理了类itemDelete的click事件,我尝试删除但我认为它不起作用,因为我无法删除,<li>因为孩子正在调用它?
$('.itemDelete').live("click", function() {
var id = $(this).parent().get(0).id;
$("#" + id).remove();
});
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法?
Bli*_*ixt 63
假设您使用的是最新版本的jQuery:
$('#sortable').on('click', '.itemDelete', function() {
$(this).closest('li').remove();
});
Run Code Online (Sandbox Code Playgroud)
closestparent(虽然parent在这里工作也有点动态.)它li在结构中得到最接近当前元素的东西.
实际上,你现在拥有它的方式id将是未定义的,因为没有一个li有id.
为什么不做呢
$(this).parent().remove()
Run Code Online (Sandbox Code Playgroud)
另外,别忘了归还假.