jquery 动态添加div同时给div增加了一个id,然后想通过这个id把这个div删掉,请问需要怎么弄?
jquery动态添加div同时给div增加了一个id,然后想通过这个id把这个div删掉,请问需要怎么弄?试了直接用$("#id")找不到元素,,,$(".div_gre...
jquery 动态添加div同时给div增加了一个id,然后想通过这个id把这个div删掉,请问需要怎么弄?
试了直接用$("#id") 找不到元素,,,
$(".div_green").append('<div class="div_red01" id="divlia_'+n+'"></div>');
n = n+1;
没点击一次,就添加一个这样的div,同时n+1
是不是需要给id值进行更新?不知道要怎么弄 展开
试了直接用$("#id") 找不到元素,,,
$(".div_green").append('<div class="div_red01" id="divlia_'+n+'"></div>');
n = n+1;
没点击一次,就添加一个这样的div,同时n+1
是不是需要给id值进行更新?不知道要怎么弄 展开
4个回答
展开全部
你这样的思路有问题
如果你先 加了几个 又删了几个 再加几个
id就乱套了
你应该直接将删除按钮一起复制到这个div内部 然后通过点击删除按钮删除当前DIV
如果你先 加了几个 又删了几个 再加几个
id就乱套了
你应该直接将删除按钮一起复制到这个div内部 然后通过点击删除按钮删除当前DIV
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删除按钮应该和div放在一起,或者给删除按钮添加一个div的id,以便于删除。
//这样写就可以了
$(".div_red01").live("click",function(){
var t_this=$(this);//这样你就得到了你所单击的那个div对象。
alert($(t_this).attr("id"));
//其他操作...............................
});
//这样写就可以了
$(".div_red01").live("click",function(){
var t_this=$(this);//这样你就得到了你所单击的那个div对象。
alert($(t_this).attr("id"));
//其他操作...............................
});
更多追问追答
追问
添加的这个div是吟唱的,div和按钮放不到一起去,,,,click不好用
追答
那删除按钮怎么去删除你所指定的div呢,必须有直接或者间接的关系的啊,不然怎么删除啊,能给出代码吗,包括删除按钮的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$("#id")当然找不到了,因为这个ID是在页面初始化后才加入的。要解决这个问题采用live()事件委托。看下面的解析(摘自JQueryAPI):
jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。
这个方法是基本是的 .bind() 方法的一个变体。使用 .bind()
时,选择器匹配的元素会附加一个事件处理函数,而以后再添加的元素则不会有。为此需要再使用一次 .bind() 才行。比如说<body>
<div class="clickme">Click here</div>
</body>
可以给这个元素绑定一个简单的click事件:$('.clickme').bind('click', function() {
alert("Bound handler called.");
});当点击了元素,就会弹出一个警告框。然后,想象一下这之后有另一个元素添加进来了。$('body').append('<div class="clickme">Another target</div>');尽管这个新的元素也能够匹配选择器 ".clickme" ,但是由于这个元素是在调用 .bind() 之后添加的,所以点击这个元素不会有任何效果。.live() 就提供了对应这种情况的方法。如果我们是这样绑定click事件的:$('.clickme').live('click', function() {
alert("Live handler called.");
});然后再添加一个新元素:$('body').append('<div class="clickme">Another target</div>');然后再点击新增的元素,他依然能够触发事件处理函数。
jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。
这个方法是基本是的 .bind() 方法的一个变体。使用 .bind()
时,选择器匹配的元素会附加一个事件处理函数,而以后再添加的元素则不会有。为此需要再使用一次 .bind() 才行。比如说<body>
<div class="clickme">Click here</div>
</body>
可以给这个元素绑定一个简单的click事件:$('.clickme').bind('click', function() {
alert("Bound handler called.");
});当点击了元素,就会弹出一个警告框。然后,想象一下这之后有另一个元素添加进来了。$('body').append('<div class="clickme">Another target</div>');尽管这个新的元素也能够匹配选择器 ".clickme" ,但是由于这个元素是在调用 .bind() 之后添加的,所以点击这个元素不会有任何效果。.live() 就提供了对应这种情况的方法。如果我们是这样绑定click事件的:$('.clickme').live('click', function() {
alert("Live handler called.");
});然后再添加一个新元素:$('body').append('<div class="clickme">Another target</div>');然后再点击新增的元素,他依然能够触发事件处理函数。
追问
我是需要通过另一个按钮的点击事件来删除这个div ,请问,这样的话,live要怎么写?
追答
我给你简单写了一个例子,你看看!!
JQuery Test
$(function() {
n = 1;
$(".clickme").click(function(){
$(".div_green").append('新添加的DIV');
n = n+1;
});
$(".div_red01").live("click",function(){alert("事件委托成功!");});
});
Click here
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询