我想要执行的任务,删除具有相同前缀的div。
<div id="random-asadf12s"></div>
<div id="random-afsdf123"></div>
<div id="random-xcvsd121"></div>
<div id="random-1edffxcx"></div>
<div id="random-56hgrgry"></div>
<div id="random-546fgfgh"></div>
<div id="random-gfh754yy"></div>
<div id="random-fghfghrt"></div>
这些div是由一些js生成的。
在jQuery中,我可以使用jQuery("#id").remove();
删除某个元素。但如果我不知道该元素的确切ID,我怎么能做同样的事情呢?
答案 0 :(得分:3)
您可以使用attribute starts with selector:
$('div[id^="random-"]').remove();
这可能更好,因为jQuery可以在新的浏览器中直接将此选择器传递给querySelectorAll
(虽然我不知道它是否真的这样做了。)
或者,您可以使用attribute contains prefix selector:
$('div[id|="random"]').remove();
答案 1 :(得分:2)
试试这个:
$divs = $('div[id|="random"]').remove();
答案 2 :(得分:1)
您可以使用Attribute Contains Selector
$('div[id*="random-"]')
或Attribute Starts With Selector
$('div[id^="random-"]')
答案 3 :(得分:1)
我认为这应该可以解决问题:
$("[id^=random-]").remove();
答案 4 :(得分:1)
过滤器怎么样?
$('div')。filter(function(){return /^random-/.test(this.id); })
答案 5 :(得分:1)
你可以使用.filter()函数(参见小提琴:http://jsfiddle.net/VG5BP/):
(function(){
$('#test').click(function(event){
event.preventDefault();
$("body > div").filter(function() {
return $(this).attr('id').match(/^(random-)/);
}).remove();
});
})();
代替“body&gt; div”,您可以为要检查的元素添加选择器,并可能删除其中的一些元素。检查小提琴,它有效。