删除所有包含字符串一部分的div - jQuery

时间:2015-03-05 11:33:50

标签: javascript jquery html ajax

Heey all,

我想删除包含字符串一部分的所有div。

我怎样才能实现这个目标?

我的旧HTML看起来像这样:

<div class="article-options_4"></div>

我的新HTML看起来像这样,其中4是主要文章ID,2是文章的选项ID:

<div class="article-options_4_2"></div>

这是我当前的jQuery,它检查点击的文章是否为false:

       if(this.checked == false) {
            $('.article-options' + '_' + $(this).val()).remove();
        }

问题是,当使用ajax添加新文章选项时,我需要添加额外的ID来删除主文章未选中时的每个文章项。至少我认为这是正确的方式......

我面对这段代码的问题是它只删除了一个项目而不是所有主要文章ID,这就是为什么我添加了文章选项的ID,请参阅上面的html。

我很好奇我怎么能解决这个问题!

2 个答案:

答案 0 :(得分:1)

使用属性选择器和^来获取以类名开头的所有内容。不要忘记上一个_,否则选择article-options_4也会选择article-options_40article-options_400,依此类推。

if(this.checked == false) {
    $('[class^=article-options' + '_' + $(this).val() + '_').remove();
}

答案 1 :(得分:-1)

您可以使用starting with jQuery Attribute Selector

$("div[class|='.article-options_'" + MAIN_ARTICLE_ID + "']").remove()
  

[attribute | = value]选择器用于选择具有以指定值开头的指定属性的元素。