2012-06-29 26 views
17

クラスの正確な数を知らずに要素の最後のクラスを見つける方法?jQuery - 要素の最後のクラスを見つけよう

当社の要素:私たちはクラスの数を知らないと、スプリット付き

<div class="class-1 class-2 some-other-class"></div> 

通常のアプローチは、ここでは動作しません。 .split(' ')の長さを確認できますか?

var i = $('div').prop('class'); 
var j = i.split(' ')[x]; 

ご迷惑をおかけして申し訳ございません。 classStrとして

+3

もしあなたが1行でやりたいのであれば、 'i.split( '')[i.split( '').length - 1]'が最後のクラスを取得します。 –

+0

クラスは本質的に順序付けられていないエンティティです。個人的には、私はjavascript/jQueryに "正しい"結果を提供することを頼りにしたくありません。要素(または要素の集合)に追加された最後のクラスを知る必要がある場合は、他の方法でそれを追跡します。 –

答えて

38

最も簡単な解決策は、配列内の最後の要素にアクセスするpopを使用することです。

var lastClass = $('div').attr('class').split(' ').pop(); 

popも配列から要素を削除しますが、あなたはそれで何かをやっていないので、それは問題ではないことに注意してください。

+0

すばらしい解決策! – Iladarsda

14
var classStr = $('div').attr('class'), 
    lastClass = classStr.substr(classStr.lastIndexOf(' ') + 1); 

DEMO

単一spaceで区切られたクラス名が含まれているので、lastIndexOf(' ')は最後spaceを見つけて、そこからパーティションを作成し、あなたの最後のclass名前を付けます。

関連する問題