クラス名の配列の最後の項目を取得したい。私のコードは次のようになります
var getClassName = [];
getClassName = $(this).attr('class').split();
console.log(getClassName);
コンソールで私はこの答えを得る
["classname1 classname2"]
最後のクラス名を取得するにはどうすればよいですか?
ありがとう
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')
Andy Eは、私たちが jQuery を過剰に使用する傾向があることについて、優れた記事を書いています。この記事では特に の使用を扱っています.attr("id")
が、問題は$(...).attr('className')
vs.についても同じですthis.className
。
あなたも使うことができます
var getClassName = (this.className || '').split(' ');
それが存在するかどうかわからない.className
場合。
$(this).attr('class').split(' ').pop()
jensgram が指摘しているように、もうすぐそこです。jQuery固有のままにしたい場合は、詳細について彼の回答を参照してください。
しかし、ブラウザーに多くの余分な作業をさせています。これは、jQuery を本当に必要としない場合の 1 つです。
var getClassName;
getClassName = this.className.split(' ');
console.log(getClassName[getClassName.length-1]);
DOM 要素のclassName
プロパティは、すべての主要なブラウザー (およびおそらくすべてのマイナーなブラウザー) でサポートされています。
それでも、これをタイトなループで実行している場合を除き、$()
andattr
呼び出しの余分なオーバーヘッドはおそらくそれほど重要ではありません。
分割のドキュメントに注意してください。
http://www.w3schools.com/jsref/jsref_split.asp
あなたは書く必要があります:
split(' ')
セパレーターがないと、「文字列全体が返されます」