3

次のようなjqueryコードを書く必要があります:

if($('label').hasClass('info_')) {

}

info_1、info_2、info_3 などのような多くのクラス名があります。したがって、ラベルに info_; で始まるクラス名がある場合は、それを記述する必要があります。何かをします。

しかし、私はjqueryサイトを見て、hasClass()を検索しました。これについては例がありません。それを行う方法はありますか?ありがとうございました。

4

5 に答える 5

12

使ってみてください:

  $("[class^=info_]"); //Classes Starts with  info_
  $('[class*=info_]');  // Classes which contains info_

代わりにあなたのコードに従ってhasClass

if($('label').is('[class*=info_]')){} //Contains

また

 if($('label').is('[class^=info_]')){} //Starts with
于 2012-07-24T16:35:08.297 に答える
4

は使えませんがhasClass、使えますfilter。クラスを調べて、一致するクラスを見つけることができます。

var $labels = $('label').filter(function(){
    return /\b(info_\d+)\b/.test(this.className);
});
于 2012-07-24T16:49:01.220 に答える
3
if( /(^|\s)info_/.test( $('label')[0].className ) ) {

}

または、複数のラベルがある場合:

if ($("label").is(function() {
    return /(^|\s)info_/.test(this.className);
})) {

}
于 2012-07-24T16:41:05.693 に答える
0

クラス namme が ... で始まるかどうかを確認したい場合は、以下のコードを使用できます
。これによると、出力は 2 です。

<div class="myclass-s1"></div>
<div class="myclass-b10"></div>
<div class="myclassb10"></div>

$.expr[':'].hasClassStartingWithInput = function(obj){
return ((/\bmyclass-/).test(obj.className)); //here is the input(myclass-)that you need to give
 };
于 2014-04-30T13:09:39.607 に答える
0

要素は複数のclass値を持つことができます (スペースで区切られます)。したがって、次のようなものを使用します。

<label class="has_info info_1">...</label>

そして、これを行うことができます:

if ( $('label').hasClass('has_info')
{
    // ...
}

編集:「で始まる」CSSセレクターは、おそらくここでより良いルートです。ただし、次のことは依然として当てはまります。

$(label).hasClass()それは悪い考えだと思いますが。おそらく次のようなものが必要です。

$('label').each(function() {
    if ( $(this).hasClass('has_info') )
    {
        // ...
    }
});
于 2012-07-24T16:35:58.623 に答える