سؤال

أريد إضافة حدث النقر إلى جميع العناصر حيث يكون `id = "violacao":

$(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 لتكون فريدة من نوعها (واحد لكل وثيقة). تغيير الهوية لفئة (واستخدامها. بدلا من #)، وأنه يجب أن تعمل.

نصائح أخرى

في حين أن ما يقوله ستيف ماسون صحيح، فإن المشكلة الفعلية ليست ذلك.

إذا قمت بتغيير المعرف إلى فصل دراسي، فستستمر المشكلة:سوف تتأثر كافة الروابط.

بدلاً من ذلك، إذا كنت تهدف إلى التأثير على <A> واحد، فيجب عليك القيام بأحد الإجراءات التالية:

أ) قم بتعيين معرفات فريدة لكل <A>، ثم افعل شيئًا كما كنت تفعل أولاً؛أو

ب) قم بتعيين الفئات واستخدم المحدد الأول:

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

سينطبق ذلك على المرساة المطابقة الأولى مع فئة الكمان.وبدلاً من ذلك، إذا كنت تريد التأثير على نقطة ارتساء معينة، فيمكنك استخدام :eq(index).

للحصول على قائمة شاملة للمحدد، قم بزيارة http://docs.jquery.com/Selectors.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top