سؤال

هاي ، لدي بعض العلامات مثل هذا

<div id="some-id">
    <h2><a href="#">Title</a></h2>
</div>

وبعض jQuery مثل هذا

$(this).parent().parent().attr("id")

يشير $ (هذا) إلى "علامة" داخل "H2"

هل هناك طريقة أسهل لتحديد Div الأصل دون استخدام Parent () مرتين. حاولت

$(this).parent("div").attr("id")

لكنها لم تنجح.

شكرًا

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

المحلول

يمكنك استخدام .closest(), ، مثله:

$(this).closest("div").attr("id")

يمكنك اختباره هنا. .parent("div") ليس بديهيًا كما يبدو فقط ال فوري الأبوين إذا يطابق المحدد ، .closest() يتسلق الوالدين حتى يطابق المحدد.

يرجى ملاحظة أنه (لا ينطبق على هذا المثال) إذا this يطابق المحدد ، ويعود الذي - التي العنصر ، لا يفعل ذلك بداية مع الوالد الأول ، يبدأ بنفسه.

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