「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")
が、一致する数字にこだわっています。
何か案が?
「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")
が、一致する数字にこだわっています。
何か案が?
CSS3 セレクターの startswithを使用して、これらの divを取得できます。
$('div[class^="project"]')
特定の 1 つの要素をチェックする.is()
には、 ではなくを使用しhasClass
ます。
$el.is('[class^="project"]')
正確な正規表現を使用するには、jQuery セレクターの正規表現/project\d/
を確認するか、使用できます。
/(^|\s)project\d(\s|$)/.test($el.attr("class"))
あなたのhtmlのより良いアプローチは次のとおりです:これらのdivはいくつかの共通のプロパティを共有していると思います。
<div class="project type1"></div>
<div class="project type2"></div>
<div class="project type3"></div>
<div class="project type4"></div>
次に、次を使用してそれらを見つけることができます。
$('.project')
$('div[class*="project"]')
次のようなもので失敗しません:
<div class="some-other-class project1"></div>
数字の確認に for を使用しないのはなぜですか
for (var i = 0; i < 10; i++) {
if(....hasClass("project"+i))
{
//do what you need
}
}