Jquery 如何删除具有唯一id的动态创建的div?
我只想发布相关的代码。如果你需要我的全部代码,请告诉我 无论如何,我有以下代码:Jquery 如何删除具有唯一id的动态创建的div?,jquery,Jquery,我只想发布相关的代码。如果你需要我的全部代码,请告诉我 无论如何,我有以下代码: var deck = []; var c = 0; $('#add').click(function(){ var addToDeck = $('input[name=searchItem]').val(); addToDeck = addToDeck.toLowerCase(); deck.push(addToDeck); $('#save').append('<di
var deck = [];
var c = 0;
$('#add').click(function(){
var addToDeck = $('input[name=searchItem]').val();
addToDeck = addToDeck.toLowerCase();
deck.push(addToDeck);
$('#save').append('<div id="cardList' + (c++) + '">' + database[deck[deck.length-1]].name + '</div>');
});
但它不起作用。不过我想我的方向是对的
只是重复一下,这是一个纸牌游戏甲板建设应用程序。。。因此,我想让用户更轻松,只需单击带有卡id的div,就可以移除卡组中已经存在的卡。在第二个代码示例中,
c
未定义或没有您期望的值。不过,这应该是可行的:
$('#save').on('click','[id^=cardList]', function(){
$(this).remove();
});
它将侦听ID以“cardList
开头的所有元素上的单击事件,这些元素是该元素的后代#save
(而不是侦听单击#save
)。这使得操作更简单,因为此
将只引用单击的元素,而您希望删除该元素
您还可以为元素提供一个附加类,并使用它来代替以选择器开头的属性:
// for example
$('<div />', {
id: 'cardList' + (c++),
'class': 'myclass',
text: database[deck[deck.length-1]].name
}).appendTo('#save');
// somewhere else
$('#save').on('click','.myclass', function(){
$(this).remove();
});
//例如
$('', {
id:'cardList'+(c++),
“类”:“myclass”,
文本:数据库[deck[deck.length-1]]。名称
}).appendTo(“#save”);
//其他地方
$('#save')。在('click','.myclass',function()上{
$(this.remove();
});
您还应该考虑是否需要唯一的ID。在第二个代码示例中,
c
未定义或没有您期望的值。不过,这应该是可行的:
$('#save').on('click','[id^=cardList]', function(){
$(this).remove();
});
它将侦听ID以“cardList
开头的所有元素上的单击事件,这些元素是该元素的后代#save
(而不是侦听单击#save
)。这使得操作更简单,因为此
将只引用单击的元素,而您希望删除该元素
您还可以为元素提供一个附加类,并使用它来代替以选择器开头的属性:
// for example
$('<div />', {
id: 'cardList' + (c++),
'class': 'myclass',
text: database[deck[deck.length-1]].name
}).appendTo('#save');
// somewhere else
$('#save').on('click','.myclass', function(){
$(this).remove();
});
//例如
$('', {
id:'cardList'+(c++),
“类”:“myclass”,
文本:数据库[deck[deck.length-1]]。名称
}).appendTo(“#save”);
//其他地方
$('#save')。在('click','.myclass',function()上{
$(this.remove();
});
您还应该考虑是否需要唯一的ID。将新的div创建为jQuery对象:
$('#save').append('<div>', {'id':'cardList' + (c++)});
$('#save').append('',{'id':'cardList'+(c++)});
然后它将可访问。将新div创建为jQuery对象:
$('#save').append('<div>', {'id':'cardList' + (c++)});
$('#save').append('',{'id':'cardList'+(c++)});
那么它就可以接受了。完美!!正是我想要的。我感谢你的帮助男人:)太好了!!正是我想要的。我感谢你的助手:)你使用的
append
是不正确的,我想你的意思是代码>。它将具有与OP当前相同的效果,因此不会解决他们的问题。您使用的append
是不正确的,我假定您的意思是.append($('',{'id':'cardList'+(c++)})代码>。它将具有与OP当前相同的效果,因此不会解决他们的问题。