2012-04-15 23 views
0

を見つけた私はjQueryのそれぞれは、()最初の値のみ

<div id="btn1"><label class="btn"><input type="submit" value="Submit"/></label></div> 
<div id="btn2"><label class="btn"><input type="button" value="Add"/></label></div> 

jQueryの関数は私の親のdivからIDを取得しようとしている戻ります回。 'btn1'、 'btn2'を返します。

ありがとうございます。

答えて

3

.btnのセレクタをループ内に再度使用しています。 this

$('.btn').each(function() { 
    alert($(this).parent().attr("id")); 
}); 

編集使用して、現在の要素を参照するために、それを変更しますがjfriend00

を1として

を本当に3つのjQueryの機能がここに呼び出しを使用する理由はありません。 jQueryは、ジョブをより良くする場合にのみ使用してください。

そして、これらの一般的なシナリオのいくつかのための参照: https://stackoverflow.com/a/4652402/803739

+1

'$(この).parent()のattr( "ID")'はるかに速く、ずっと何かに置き換え、よりすることができます。コンパクト 'this.parentNode.id'。実際にここで3つのjQuery関数呼び出しを使用する理由はありません。 jQueryは、仕事をよりよくする場合にのみ使用してください。 – jfriend00

+0

本当に技術的になりたいのであれば、 'input'は' label'sにネストされているなど、コードに間違ったことがたくさんあります。私は直接彼の質問に答えました。 – Terry

+0

そして、より良い答えを出すコードを提案しました。あなたは守る必要はありません。提案にあなたの答えを組み込むことができます。私は競合する回答を投稿することを考えましたが、あなたを改善するように努力することに決めました。それは、誰か(このケースではOP、その後あなたがコピーしたもの)が、非効率的なやり方でjQueryを使用すると、私のペットピースです。 – jfriend00

関連する問題