删除相同前缀ID的div

时间:2011-05-12 20:32:24

标签: jquery html

我想要执行的任务,删除具有相同前缀的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,我怎么能做同样的事情呢?

6 个答案:

答案 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();

http://api.jquery.com/attribute-contains-prefix-selector/

答案 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”,您可以为要检查的元素添加选择器,并可能删除其中的一些元素。检查小提琴,它有效。