Например, выберите div (или другой элемент), который содержит «grap» (o другое указанное слово) - PullRequest
16 голосов
/ 11 сентября 2011

Прежде всего; пример кода HTML:

<div class"grap1"> some conetent</div>
<div class"grap2"> some conetent</div>
<div class"grap3"> some conetent</div>
<div class"blabla">some content></div>

А теперь я хочу выбрать div, в котором класс содержит слово "grap", где-то есть имя класса (поэтому в этом случае первые три div). Как мне этого добиться?

Это не работает: http://api.jquery.com/attribute-contains-word-selector/

Ответы [ 5 ]

36 голосов
/ 11 сентября 2011

Использование атрибута содержит селектор :

$('div[class*="grap"]')
4 голосов
/ 11 сентября 2011

В зависимости от вашего конкретного варианта использования, вы можете попробовать селектор префикса атрибута:

var $grapDivs = $('div[class|="grap"]');

Из ваших примеров данных видно, что "grap" всегда является префиксом класса, так что если это так, томожет быть то, что вы хотите.Если «grap» может быть где-то в классе, а не только в начале, используйте вместо него * =.

2 голосов
/ 11 сентября 2011

Используйте селектор «атрибут содержит»: http://api.jquery.com/attribute-contains-selector/
Селектор «атрибут содержит слово» не будет работать, поскольку, согласно документам, он находит элементы, в которых указанный атрибут содержит данное слово с разделителямипо пробелам .

1 голос
/ 11 сентября 2011

Что вам нужно, так это атрибут "содержит селектор"

См. Пример здесь http://jsfiddle.net/CsvUY/

1 голос
/ 11 сентября 2011

Вы хотите использовать « Атрибут содержит селектор », а не «Атрибут содержит селектор WORD», с которым вы связались.

...