سؤال


أحتاج إلى الوصول إلى علامة SPAN الموجودة في كل علامة DIV
لذلك استخدمت هذا الكود التالي

    $("DIV").click(function(){      
    $(this + "SPAN").show();
});


هل الكود أعلاه صحيح؟لا يعمل بالنسبة لي!كما أنها لا تظهر أي شيء..
الرجاء مساعدتي


شكرًا،
برافين ج

هل كانت مفيدة؟

المحلول

يمكنك استخدام .find() للحصول على عنصر داخل عنصر آخر، مثل هذا:

$("div").click(function(){      
  $(this).find("span").show();
});

كقاعدة عامة، للحصول على أي شيء يتعلق this, ، ستبدأ عادةً بـ $(this) وبعض مزيج من وظائف اجتياز الشجرة يتحرك حول.


للحصول على الكود الفعلي، بناءً على التعليقات أدناه:
إذا كان الرمز الخاص بك يبدو كالتالي:

<fieldset>
  <legend>Link</legend>
  <span>CHECK</span>
</fieldset> 

ثم .find() لن تعمل منذ يوم $("legend") المحدد لأن <span> ليس كذلك داخل ال <legend> إنه شقيق، لذا استخدمه .siblings() (اختياريًا باستخدام محدد) مثل هذا:

$("legend").click(function(){ 
  $(this).siblings("span").show(); 
});​

يمكنك تجربتها هنا

نصائح أخرى

يمكنك استخدام وظيفة البحث للقيام بذلك. (أيضًا ، يفضل استخدام الأحرف الصغيرة للمحددات.)

$("div").click(function(){      
    $(this).find("span").show();
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top