2011-09-12 3 views
3

私はこのコードを持っている:.split()の後に配列の2番目の値に直接アクセスできますか?

var tmp=$(this).attr('id').split("_"); 

を、私は分割後tmpの上の第2の値を格納したいと思います。だから$(this).attr( 'id')= "hello_marco"私はtmpにマルコの値を格納したいのですが、配列ではありません。

もちろん、配列とその配列へのアクセスを配列[1]に格納することなく、コードの1行で直接行いたいと思います。

JS/Jqueryで可能ですか?

+1

を働く最後まで

​​

を追加します。ちょうど 'this.id.split(" _ ")'を実行してください。 [ここにはjsPerf](http://jsperf.com/jquery-attr-id-vs-dom-id-prop)があります。これは、このようにjQueryを使い過ぎることの影響を示しています。 – user113716

+0

...実際には、jQueryオブジェクトも作成する必要があるため、この場合の差はさらに大きくなります。 [jsPerf test。](http://jsperf.com/jquery-attr-id-vs-dom-id-prop/2) – user113716

答えて

11
var tmp = $(this).attr('id').split("_")[1]; 
+1

私は自分の答えを書いていたので、通知は3つの新しい回答が掲載されていた。 – MrBoJangles

3
var tmp = $(this).attr('id').split('_')[1]; 
//          ^^^ 

スプリットは、配列を返すので、ちょうど配列間接参照。

1
var tmp = $(this).attr('id').split("_")[1]; 
2

ただ、それはおそらくベストプラクティスではありませんが、それは `.ATTR()` IDを取得するためには使用しないでください

+2

素晴らしいことです。慣習的に。 – MrBoJangles

関連する問題