<div class="add">Click me to add new item to list</div>
<ul id="sortable">
<li class="delete">
<div class="item">these old items can be removed by click on <span class="delBtn">DEL</span></div>
</li>
<li class="delete">
<div class="item">these old items can be removed by click on <span class="delBtn">DEL</span></div>
</li>
<li class="delete">
<div class="item">these old items can be removed by click on <span class="delBtn">DEL</span></div>
</li>
</ul>
$("#sortable").sortable();
$(".add").click(function () {
var newItem = '<li class="delete"><div class="item">these <span class="red">new items cannot be removed</span> by click on <span class="delBtn">DEL</span></div></li>';
$("#sortable").append(newItem);
});
$("#sortable").delegate('.delBtn', 'click', function() {
alert("A click happened, it was captured at #commonParent and this alert ran");
});
вместо предупреждения, я хотел бы удалить элемент списка... пожалуйста, помогите мне, как я могу это сделать?!
вы можете попробовать это здесь...
Попробуйте .on
вместо этого:
$("#sortable").sortable();
$(".add").click(function () {
var newItem = '<li class="delete"><div class="item">these <span class="red">new items cannot be removed</span> by click on <span class="delBtn">DEL</span></div></li>';
$("#sortable").append(newItem);
});
$("#sortable").on('click','.delBtn', function() {
$(this).parent().remove();
});
Скрипт: http://jsfiddle.net/MvnEv/111/
Вы можете сделать что-то подобное
$("#sortable").sortable();
$(".add").click(function () {
var newItem = '<li class="delete"><div class="item">these <span class="red">new items cannot be removed</span> by click on <span class="delBtn">DEL</span></div></li>';
$("#sortable").append(newItem);
});
$("#sortable").delegate('.delBtn', 'click', function() {
$(this).closest("div").remove();
});
ну, если вы используете jquery1. 6+, используйте вместо делегата.
$("#sortable").on('click','.delBtn', function() {
alert("A click happened, it was captured at #commonParent and this alert ran");
$(this).parents('.delete').remove();
//or
$(this).closest('.delete').remove();
});
и remove()
чтобы удалить его из DOM.
parents()
или closest()
, чтобы выбрать элемент li