質問

クラス名を持つ配列の最後の項目を取得したいです。私のコードは次のようになります

var getClassName = [];
getClassName = $(this).attr('class').split();
console.log(getClassName);

コンソールで私は なる この答えを得る

["classname1 classname2"]

最後のクラス名を取得するにはどうすればよいですか?

ありがとう

役に立ちましたか?

解決

jensgramが指摘するように、

、あなたはほとんどそこにいます。あなたは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(' ')
セパレーターなし

「文字列全体が返されます」
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top