我需要触发“ deletable
”类中“a”标签的点击事件。我在 SO 中看到了一些类似的问题,但是下面的代码对我不起作用。我想要做的是<li>
从<ul>
.
$(document).ready(function () {
$('.deletable').live("click", function () {
alert("test"); // Debug
// Code to remove this <li> from <ul>
});
});
<form ...>
<ul>
<li>One<a href="#" class="deletable">Delete</a></li>
<li>Two<a href="#" class="deletable">Delete</a></li>
<li>Three<a href="#" class="deletable">Delete</a></li>
</ul>
</form>
我假设我在$('...')
标签内使用了不正确的对象层次结构。但是我没有足够的 js/jquery/DOM 知识来解决这个问题。请帮忙。
编辑
感谢您的答案,但它们都不适合我。实际上我正在<li>
动态添加 s 。可能有问题。请检查,
#sps
- 一个列表框
#add
- 一个按钮
#splist
- 另一个列表框
#remove
- 一个按钮
$(document).ready(function() {
$('#add').click(function(e) {
var selectedOpts = $('#sps option:selected');
if (selectedOpts.length == 0) {
alert("Nothing to move.");
e.preventDefault();
}
$('#splist').append($(selectedOpts).clone());
$('ul').append('<li>' + selectedOpts.text() + '<a href="#" class="deletable" id="id' + selectedOpts.val() + '">Remove</a>' + '</li>');
e.preventDefault();
});
$('#remove').click(function(e) {
var selectedOpts = $('#splist option:selected');
if (selectedOpts.length == 0) {
alert("Nothing to move.");
e.preventDefault();
}
$(selectedOpts).remove();
e.preventDefault();
});
});