任何人都可以告诉我为什么这不起作用吗? 我想要一个函数,当我点击它时将删除列表项 - 而不是删除整个列表。
$(document).ready(function(){
$( "#add-tag" ).on("click", function(x) {
var tag = $("#new-tag").val();
$("#galleries div:first-child").clone().appendTo("#galleries");
$("#galleries-list").append('<li>' + tag + ' gallery: <a href="#"> remove</a></li>');
$("#new-tag").removeAttr("value");
x.preventDefault();
});
$("#galleries-list li a").on("click", function(x) {
var elem = $(this);
$(elem).remove();
});
});
答案 0 :(得分:3)
制作
$("#galleries-list li a").on("click", function(x) {
var elem = $(this);
elem.parent().remove(); //since you want to remove the li on click of a
});
它已经是一个jquery对象,你没有必要重新制作它。
答案 1 :(得分:0)
工作示例:https://jsfiddle.net/Twisty/88t09ma8/2/
<强> JQuery的强>
$(document).ready(function() {
$("#add-tag").on("click", function(x) {
x.preventDefault(); // Keep form from submitting
var tag = $("#new-tag").val();
$("#galleries div:first-child").clone().appendTo("#galleries");
$("#galleries-list").append('<li>' + tag + ' gallery: <a href="#"> remove</a></li>');
});
$(document).on("click", "ul#galleries-list li a", function(x) {
$("#new-tag").val("");
$(this).parent("li").remove();
return false;
});
});
.on()
没有挂钩到动态创建的链接,因此我必须更具体地选择它。此外,tag
未定义。