选择具有以abc开头的类的元素

时间:2014-06-07 11:00:46

标签: jquery jquery-selectors

$("[class^='stage']").addClass("hidden");

以上隐藏:

<div class="stage1">
<div class="stage2">
<div class="stage1 beep">
<div class="stage2 beep">

但它错过了:

<div class="beep stage1">
<div class="beep stage2">

所以我使用过:

$("[class*='stage']").addClass("hidden");

问题在于我现在甚至隐藏着:

<div class="beep vastage">
<div class="destagel beep">

我如何设计我的选择器,因此它带给我的东西&#34;包含以东西开头的东西&#34;?

2 个答案:

答案 0 :(得分:1)

为什么不做:

$('*').filter(function () { 
  return $(this).attr('class') !== undefined ?
             $(this).attr('class').match(/\bstage\d*\b/g) : false;
}).hide();

答案 1 :(得分:0)

根据Jquery文档(http://api.jquery.com/attribute-contains-word-selector/),您可以使用以下语法:

jQuery( "[attribute~='value']" )

选择一个包含字符串的单词(用空格分隔)但不包含&#34;以&#34;开头,只包含。

我认为最好的方法是使用javascript indexof找到你想要的字符串,并检查索引是0还是前面的字符是空格。你需要在所有html代码上循环来检查所有元素......