36

「project [0-9]」クラスを持ついくつかのdivがあります:

<div class="project1"></div>
<div class="project2"></div>
<div class="project3"></div>
<div class="project4"></div>

要素に「project [0-9]」クラスがあるかどうかを確認したい。私は持っています.hasClass("project")が、一致する数字にこだわっています。

何か案が?

4

6 に答える 6

63

CSS3 セレクターの startswithを使用して、これらの divを取得できます。

$('div[class^="project"]')

特定の 1 つの要素をチェックする.is()には、 ではなくを使用しhasClassます。

$el.is('[class^="project"]')

正確な正規表現を使用するには、jQuery セレクターの正規表現/project\d/を確認するか、使用できます。

/(^|\s)project\d(\s|$)/.test($el.attr("class"))
于 2012-12-14T12:33:12.950 に答える
13

あなたのhtmlのより良いアプローチは次のとおりです:これらのdivはいくつかの共通のプロパティを共有していると思います。

<div class="project type1"></div>
<div class="project type2"></div>
<div class="project type3"></div>
<div class="project type4"></div>

次に、次を使用してそれらを見つけることができます。

$('.project')
于 2012-12-14T12:39:07.503 に答える
10
$('div[class*="project"]')

次のようなもので失敗しません:

<div class="some-other-class project1"></div>
于 2016-09-11T06:21:37.340 に答える
-7

数字の確認に for を使用しないのはなぜですか

for (var i = 0; i < 10; i++) {
                if(....hasClass("project"+i))
                {
            //do what you need
                }
            }
于 2012-12-14T12:37:38.157 に答える