我需要触发“deletable
”类中“a”标签的点击事件。在我看到一些类似的问题,但下面的代码不适合我。我想要做的是从<ul>
删除相关<li>
。jquery中'a'标签的点击事件
$(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();
});
});
把小提琴放在你的问题 –