2009-12-05 2 views
3

У меня есть на следующую HTML-разметка:Селектор классов JQuery, начинающийся с?

<DIV class="bubble bubble_white"> 
    <DIV class=bubble_large></DIV> 
</DIV> 
<DIV class="bubble bubble_black"> 
    <DIV class=bubble_large></DIV> 
</DIV> 

Я хочу, чтобы выбрать классы bubble bubble_white и bubble bubble_black. Я думал о коде под но он не работает:

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

Любые идеи о том, как это сделать?

ответ

4

Попробуйте это:

$(".bubble[class*=bubble_]") 
+0

Спасибо прекрасный !!!!!! – Martijn

+4

Обратите внимание, что это также будет похоже на «foobubble_bar». – Gumbo

5

Селектор [attr^=val] сравнивает значение атрибута целое. Поэтому ваше значение атрибута должно начинаться с bubble_. Для разделенных пробелами список, вы можете использовать [attr|=val] селектор:

$(".bubble[class|=bubble_white], .bubble[class|=bubble_black]") 

Или вы делаете фильтрацию по своему усмотрению:

$(".bubble").filter("[class|=bubble_white], [class|=bubble_black]") 

Или:

$(".bubble").filter(function() { 
    var $this = $(this); 
    return $this.hasClass("bubble_white") || $this.hasClass("bubble_black"); 
}) 

Или:

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

Работает также. Благодаря! – Martijn

Смежные вопросы