3

これが私がテストしていたもののjsfiddleですhttp://jsfiddle.net/5hhRF/

番号121 2 ....があります。「2」である最後の桁をクリックしても、アラートは表示されません。

その場合のコードが欠落していましたか?

ここでも同じコードをコピーしています。

<span class="open-option" id="option1" >1</span>
<span class="open-option" id="option2" >2</span>

<span id="open-option" class="option1" >1</span>
<span id="open-option" class="option2" >2</span>​
    $( "。open-option")。click(function(){                    
       var myID = $(this).attr('id');
       alert(myID);
    });

    $( "#open-option")。click(function(){                    
       var myClass = $(this).attr('class');
       alert(myClass);
    });


                        </ pre>
4

4 に答える 4

3

同じIDを複数の要素に割り当てることはできません。

http://htmlhelp.com/reference/html40/attrs.html

ID属性は、ドキュメント内の要素を一意に識別します。1つのドキュメントで2つの要素が同じID値を持つことはできません。

于 2012-04-06T06:06:38.473 に答える
3

clickイベントは、指定されたIDを持つ最初の要素にのみバインドされます。

ページ内のIDは一意である必要があります。

于 2012-04-06T06:07:46.280 に答える
1

jQuery id selectorDOM 配列を返しますが、IDを持つ最初の要素のみが含まれます。だからここにあなたのコードでclick handler is being applied to 1st DOM elements only

あなたはセレクターを含むを利用することができます

$("span[id*='open-option']").click(function(){                    
   var myClass=$(this).attr('class');
   alert(myClass);
});

フィドル: http: //jsfiddle.net/5hhRF/4/

于 2012-04-06T06:10:08.520 に答える
0

要素IDは一意である必要があります。恐れ入りますが、こちらをご覧ください。そうしないと、コードが機能しなくなります。

于 2012-04-06T06:07:10.300 に答える