jqueryで配列の最後のクラス名を取得する
質問
クラス名を持つ配列の最後の項目を取得したいです。私のコードは次のようになります
var getClassName = [];
getClassName = $(this).attr('class').split();
console.log(getClassName);
コンソールで私は なる この答えを得る
["classname1 classname2"]
最後のクラス名を取得するにはどうすればよいですか?
ありがとう
解決
、あなたはほとんどそこにいます。あなたはjQueryの固有滞在したい場合は、詳細のための彼の答えを見ています。
しかし、あなたはブラウザを作っている余分な作業の多くは、これはあなたが本当にjQueryのを必要としない当時の一つです行います:
var getClassName;
getClassName = this.className.split(' ');
console.log(getClassName[getClassName.length-1]);
className
DOM要素のプロパティでは、すべての主要なブラウザ(そしておそらくすべてのマイナーのもの)によってサポートされています。
それでも、$()
とattr
呼び出しの余分なオーバーヘッドはおそらくない本当に重要くらいます。
他のヒント
console.log(getClassName[getClassName.length-1]);
します, しかし 引数を渡す必要があります split()
:
var getClassName = $(this).attr('class').split(' ');
var lastIndex = getClassName.length - 1;
console.log(getClassName[lastIndex]);
編集:ご使用にあたって this.className
使用を検討してください this.className
の代わりに $(this).attr('class')
. 。これについては、 他の答え.
アンディ・E 私たちが jQuery を使いすぎる傾向があることについて、素晴らしい記事が書かれています。 jQuery の優れた機能を利用して要素のプロパティにアクセスする. 。この記事では、特に次の使用方法を扱います。 .attr("id")
しかし問題は同じです $(...).attr('className')
対 this.className
.
あなた できた 使っても
var getClassName = (this.className || '').split(' ');
それがわからない場合は .className
存在します。
$(this).attr('class').split(' ').pop()
スプリットのマニュアルを注意してください
http://www.w3schools.com/jsref/jsref_split.aspする
あなたが書く必要があります:
split(' ')
セパレーターなし「文字列全体が返されます」