jquery 动态添加div同时给div增加了一个id,然后想通过这个id把这个div删掉,请问需要怎么弄?

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值进行更新?不知道要怎么弄

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。

2、在index.html中的<script>标签,输入jquery代码:

var a = 125;$('body').append('<div id="id' + a +'">hello</div>');

3、浏览器运行index.html页面,此时动态添加div成功。

4、再输入js代码:$('#id' + a).remove();。

5、再运行html,此时发现动态添加的div被成功删除了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-08
你这样的思路有问题
如果你先 加了几个 又删了几个 再加几个
id就乱套了

你应该直接将删除按钮一起复制到这个div内部 然后通过点击删除按钮删除当前DIV
第2个回答  2013-01-07
删除按钮应该和div放在一起,或者给删除按钮添加一个div的id,以便于删除。
//这样写就可以了
$(".div_red01").live("click",function(){
var t_this=$(this);//这样你就得到了你所单击的那个div对象。
alert($(t_this).attr("id"));
//其他操作...............................
});追问

添加的这个div是吟唱的,div和按钮放不到一起去,,,,click不好用

追答

那删除按钮怎么去删除你所指定的div呢,必须有直接或者间接的关系的啊,不然怎么删除啊,能给出代码吗,包括删除按钮的。

追问

我就是想通过id来找到那个对应的div呀,他们的id的最后三位是一样的,可是通过js添加的div,确没法通过id找到,于是我想把div的进行更新,,,live的方法貌似弄不了

本回答被网友采纳
第3个回答  推荐于2017-10-12
$("#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>');然后再点击新增的元素,他依然能够触发事件处理函数。追问

我是需要通过另一个按钮的点击事件来删除这个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

本回答被提问者采纳
相似回答