質問

「id = <!> quot; violacao <!> quot;:

のすべての要素にクリックイベントを追加したい
$(document).ready(function () {
    jQuery('#violacao').click(function() {
        alert('teste');
    });
});

ただし、最初のリンクのみがクリックに応答します。これは生成されたHTMLです:

<tr>
  <td><a href="#" id="violacao">40954589</a></td>
  <td>Perda de Comunicação</td>
</tr>

<tr>
  <td><a href="#" id="violacao">88692020503</a></td>
  <td>Perda de Comunicação</td>
</tr>

この方法で試すとき:

jQuery("a").click(function() {
    alert('teste');
});

すべてのリンクが影響を受けることを除いて、正常に動作します。何が問題なのですか?

役に立ちましたか?

解決

HTMLのIDは一意(ドキュメントごとに1つ)である必要があります。 IDをクラスに変更し(#の代わりに。を使用します)、動作するはずです。

他のヒント

スティーブメイソンの言うとおりですが、実際の問題はそれではありません。

IDをクラスに変更すると、問題が解決しません。すべてのリンクが影響を受けます。

代わりに、単一の<!> lt; A <!> gt;に影響を与えることを目指す場合は、次のいずれかを実行する必要があります。

a)各<!> lt; A <!> gt;に一意のIDを割り当ててから、最初に行っていたようなことを行います。または

b)クラスを割り当て、:firstセレクターを使用します:

jQuery("a.violacao:first").click( function (){
  alert('teste');
} );

これは、クラスviolacaoと最初に一致するアンカーに適用されます。あるいは、特定のアンカーに影響を与えたい場合は、:eq(index)を使用できます。

セレクターの包括的なリストについては、 http://docs.jquery.com/Selectors にアクセスしてください。 。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top