当类名以某个单词开头时选择一个元素

Cha*_*ung 36 jquery jquery-selectors

假设我有以下元素:

<div class="home">
    <div class="tab231891230"></div>
    <div class="tab121232441"></div>
    <div class="tab123134545"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery选择类开头的div元素"tab"

kap*_*apa 62

它被称为属性开始选择器.我的示例在元素上设置了红色文本颜色:

$('[class^="tab"]').css('color', 'red');
Run Code Online (Sandbox Code Playgroud)

jsFiddle演示

请注意,如果元素具有多个类,而另一个元素位于具有tabinside(class="nyedva tab231891230")的元素之前,则此选择器将不会选择该元素.

如果您想要选择这些,您可以使用此示例:

$('.home div').filter(function () {
    return this.className.match(/\btab/);
}).css('color', 'red');
Run Code Online (Sandbox Code Playgroud)

jsFiddle演示


cyb*_*fly 46

如果一个元素中有多个类,请使用此选项

$("[class*='tab']");
Run Code Online (Sandbox Code Playgroud)

它将与这样的元素一起使用

<div class="home">
<div class="module tab231891230"></div>
<div class="module tab121232441"></div>
<div class="module tab123134545"></div>
Run Code Online (Sandbox Code Playgroud)

参考:jquery属性包含选择器

  • 请注意,这也将选择类似`timetable`的类,从而导致"奇怪"的错误. (4认同)

Tim*_*Tim 11

你可以这样做:

$('div[class^="tab"]');
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/attribute-starts-with-selector/

  • 这只适用于元素只有一个类的情况!请参阅:http://jsbin.com/cesum/2/ (7认同)