JQuery classname选择器以?开头?

Mar*_*ijn 3 jquery

我有以下的HTML标记:

<DIV class="bubble bubble_white">
  <DIV class=bubble_large></DIV>
</DIV>
<DIV class="bubble bubble_black">
  <DIV class=bubble_large></DIV>
</DIV>
Run Code Online (Sandbox Code Playgroud)

我想选择课程bubble bubble_whitebubble bubble_black.我正在考虑下面的代码,但它不起作用:

$(".bubble.[class^=bubble_]")

关于如何做的任何想法?

Gum*_*mbo 5

[attr^=val]选择是比较全的属性值.因此,您的属性值必须从bubble_选择开始.对于以空格分隔的列表,您可以使用[attr|=val]选择器:

$(".bubble[class|=bubble_white], .bubble[class|=bubble_black]")
Run Code Online (Sandbox Code Playgroud)

或者您自己进行过滤:

$(".bubble").filter("[class|=bubble_white], [class|=bubble_black]")
Run Code Online (Sandbox Code Playgroud)

要么:

$(".bubble").filter(function() {
    var $this = $(this);
    return $this.hasClass("bubble_white") || $this.hasClass("bubble_black");
})
Run Code Online (Sandbox Code Playgroud)

要么:

$(".bubble").filter(function() {
    return /(?:^|\s+)bubble_/.test(this.className);
})
Run Code Online (Sandbox Code Playgroud)