使用此代码,我需要删除生成的新元素。它不起作用。在firebug中没有出现JS错误。
$('.popular-list li a').live("click",function() //this will apply to all anchor tags
{
var stuff = $(this).text();
var hasDuplicate = false;
$('#favoritesdrinks li').each( function(){
if ($(this).text() === stuff ){
hasDuplicate = true;
return false;
}
});
if (hasDuplicate ) {
alert("Already Added") }
else {
$('#favoritesdrinks').append('<li>'+stuff+' --- <a href="javascript:;" class="remove">Remove Item </a> </li>');
}
});
Removal:
$("a.remove").click(function() {
$(this).fadeOut(500, function() { $(this).remove(); });
});
答案 0 :(得分:1)
您需要将.live事件用于具有类删除的锚点。此外,它的上下文将是锚点击内的锚点,因此你需要使用.parent()来fadeOut&amp;删除li
$('.popular-list li a').live("click",function() {
var stuff = $(this).text();
var hasDuplicate = false;
$('#favoritesdrinks li').each( function(){
if ($(this).text() === stuff ){
hasDuplicate = true;
return false;
}
});
if (hasDuplicate ) {
alert("Already Added") }
else {
$('#favoritesdrinks').append('<li>'+stuff+' --- <a href="#" class="remove">Remove Item </a> </li>');
}
});
$("a.remove").live('click', function(ev) {
ev.preventDefault();
$(this).parent().fadeOut(500, function(ev) {
$(this).remove();
});
});
答案 1 :(得分:0)
$("a.remove").click(function() { $(this).fadeOut(500, function() { $(this).remove(); }); });
该行将删除A链接,而不是LI标记,因为您使用的是$(this)