jquery remove 删除元素问题

<ul><liid="1">abc</li><liid="2">DEF</li></ul><div><inputtype="text"id="1"value="测试"/>... <ul>
<li id="1"> abc </li>
<li id="2"> DEF </li>
</ul>

<div>
<input type="text" id="1" value="测试"/>
</div>

我现在用Jquery 的Romove 方法删除
$("#1").remove();
结果是 它只能删除第一个id 为 "1" 的元素。
我用each 循环删除 也试过了,可也还是只能删除第一个
$("#1").each(function(){
$(this).remove();
});
求解:
展开
 我来答
绛紫方糖
推荐于2018-05-15 · TA获得超过742个赞
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:233万
展开全部
  1. ID是不能重复的,你的input#1跟li#1的ID重复,本来就是错的。

  2. 元素的ID、Class之类的,尽量不要使用数字开头的命名。

  3. 你$('#1')只选择到了一个元素,用each当然没用。


所以如果你想删除ul下的两个li的话,这么做

$("ul li").remove();

如果你想删除那个id为1的li和那个input的话,可以给他们赋一个可以重复的属性,例如说class、name(name可以实现,但是不方便管理,不建议)

<li class="test"> abc </li>
<input type="text" class="test" value="测试"/>
$(".test").remove();

就可以了

Cansluck
2018-07-26 · 知道合伙人软件行家
Cansluck
知道合伙人软件行家
采纳数:502 获赞数:1407
毕业于湖南农业大学计算机科学与技术专业,学士学位。从事java开发4年,读过大量的java开发的书籍

向TA提问 私信TA
展开全部
1、jquery本身就是一个强大的前端工具,利用更少的代码,来做更多的事情

2、这个remove方法,它可能在给某个标签上有些效果,然后调用这个remove方法后进行移除,这样就能够消除原有的附加在标签上的效果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
js20070309
2013-12-27 · TA获得超过202个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:101万
展开全部
不要用id,用class,class="1" class="2",用id的话同一个值在一个页面上只能出现一个。
然后$(".1").remove();
如果不行再把class后的数字换成英文字符
$(".abc").remove();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德新桖2z
2013-12-27 · 超过22用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:65.6万
展开全部
id 在html 中不唯一么 ? 为什么不用class 呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式