-1

例えば:

<div class="home current">home</div>

を使用する$(this).attr("class")と、単純に「ホーム電流」が返されます。「ホーム」属性のみを取得したい。どうすればこれを達成できますか?

4

5 に答える 5

2

クラス名がわかっていて、要素にそれがあるかどうかを確認したい場合は、次を使用できます.hasClass()

// will return true if the element has that class applied to it
$(elem).hasClass('home'); 

一方、各クラスを要素に個別に適用する場合は、スペースで分割して反復できます。

var classes = $(elem).attr('class').split(' ');
for(var i=0; i<classes.length; i++) {
   classes[i]; // each class name
}
于 2013-03-20T15:30:37.227 に答える
1

このclass属性は、要素に割り当てられた CSS クラスのスペース区切りのリストを返します。これを配列に変換するsplitには、文字列のメソッドを使用します。最初のものを取得するには、次のように [0] インデクサーを使用します。

 var firstClass = $(this).attr('class').split(' ')[0]
于 2013-03-20T15:32:00.770 に答える
0
var allClass= $(this).attr("class");
var class = allClass.replace("current", "");

これは、追加のクラスとして「現在」しかない場合に機能します

于 2013-03-20T15:31:53.340 に答える
0

クラス リストをプルする必要がある特定の理由はありますか。探しているクラスが分かっていて、オブジェクトにクラス ホームがあるかどうかを確認する必要がある場合は、次のようにします。

$(this).hasClass("home");

それ以外の場合は、結果を分割して、必要なクラスを確認することができます。

var classAttr = $(this).attr("class");
var classes = classAttr.split(" "); 
于 2013-03-20T15:32:34.633 に答える
0

要素のプライマリ クラスが必要なようです。

var primaryClass= $(this).attr('class').split(' ')[0].

この行は、使用中にクラスが適用されないと例外が発生する可能性があることに注意してください。

于 2013-03-20T15:33:29.640 に答える