jQuery动态添加元素后,为什么不能动态删除?

<html><head><metacharset="utf8"><title>jquery动态添加的元素为何不能删除</title><scripttype="text/j... <html>
<head>
<meta charset="utf8">
<title>jquery动态添加的元素为何不能删除</title>

<script type="text/javascript" src="jquery-1.11.2.min.js"></script>
<style type="text/css">

.row{width:200px;height:500px;background: yellow;}
.one{width:200px;height:50px;background: green;}
</style>
</head>
<body>
<button id='add'>新增元素</button>
<div class="row">
<div class="one">
<span>删除</span>
</div>
<div class="one">
<span>删除</span>
</div>
</div>
</body>
<script type="text/javascript">

var str ="<div class='one' style='font-weight:bold;' >新添加的元素 <sapn>删除</span></div>";
$(document).ready(function(){
$("button").click(function(){
$(".row").append(str);
});
});

$('span').click(function(){
$(this).parent().remove();
})
</script>
</html>
展开
 我来答
horse爱前端
2015-03-31 · 一个简简单单的前端菜鸟
horse爱前端
采纳数:730 获赞数:3333

向TA提问 私信TA
展开全部

首先,你的标签错了<sapn>删除</span>,应该是span,你写错了。

其次,动态加载的应该用绑定事件。根据你引入的jq库那就要用.on()事件。具体代码:

$("span").on("click",function(){
  $(this).parent().remove();
})
更多追问追答
追问
标签错了,对不起。但是你这个代码我放进去了,不行啊。点删除还没反应啊!???
追答
$("span").on("click",function(){
  $(".one").remove();
})
匿名用户
推荐于2018-03-04
展开全部
<!DOCTYPE html>
<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script class="jquery library" src="/js/sandbox/jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<title>
RunJS 演示代码
</title>
<style type="text/css">
.row{
width:200px;
height:500px;
background: yellow;
}
.one{
width:200px;
height:50px;
background: green;
}
</style>
<script type="text/javascript">
var str ="<div class='one' style='font-weight:bold;'><span>新添加的元素删除</span></div>";
$(document).ready(function(){
$("button").click(function(){
$(".row").append(str);
});
$(".row").delegate("span","click",function(){
$(this).closest("div").remove();  
});
});
</script>
  </head>
<body>
    <button id='add'>
新增元素
</button>
<div class="row">
<div class="one">
<span>
删除
</span>
</div>
<div class="one">
<span>
删除
</span>
</div>
</div>
  </body>
</html>
追问
为什么
$('span').click(function(){
$(this).parent().remove();
})
我这样写不行?啥原因?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2016-02-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
jQuery动态添加元素后,可以动态删除的,不能删除是因为没有找到对应的节点。
举例如下:
//This prototype function allows you to remove even array from array
Array.prototype.remove = function(x) {
var i;
for(i in this){
if(this[i].toString() == x.toString()){
this.splice(i,1)
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weixiao800
2015-03-31 · TA获得超过824个赞
知道小有建树答主
回答量:482
采纳率:0%
帮助的人:438万
展开全部
后添加的元素是没有绑定click事件的.得重新绑定一下
更多追问追答
追问
怎么绑定?我不会写。。
追答
jQuery动态添加元素后,为什么不能动态删除?

jquery动态添加的元素为何不能删除

.row{width:200px;height:500px;background: yellow;}
.one{width:200px;height:50px;background: green;}

新增元素

删除

删除

var str ="新添加的元素 删除";
$(document).ready(function(){
$("button").click(function(){
$(".row").append(str);
$('span').click(function(){
$(this
});
});

$('span').click(function(){
$(this).parent().remove();
})

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你一天想说什么
2015-03-31 · TA获得超过128个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:54.2万
展开全部
不用remove()方法, 用detach()
追问
我试了,代替掉remove不行。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式