jQuery Slidedown First Child Elements
سؤال
لدي فئة واحدة من divs ('Open') تحتوي على فئة أخرى من divs ('العناصر') مثل هذا:
<div class="open">
<div class="item">
this is a test 1
</div>
<div class="item">
this is a test 2
</div>
</div>
ما أتطلع إلى فعله هو انزلاق جميع divs فئة "العنصر" الموجودة في الفصل "المفتوح" الذي تم النقر عليه.
حتى الآن لدي
$(document).ready(function () {
$('.open').click(function () {
$(this).find(':first-child').slideDown('1000');
});
لكنها لا تعمل. أي اقتراحات؟
شكرا ، جون
المحلول
بدلاً من :first-child
انت تريد الأطفال المباشرين, ، والتي يمكنك الحصول عليها في هذه الحالة باستخدام .children()
, ، مثله:
$('.open').click(function () {
$(this).children().slideDown('1000');
});
:first-child
هو للحصول على عنصر الطفل الأول في كل مستوى (وفي كل "فرع") ، .children()
أو ال محدد الأطفال (>
) هي للحصول على جميع الأطفال الفوريين/"المستوى الأول".
نصائح أخرى
ماذا عن
$(".open").click(function() {
$(this).children().slideDown(1000);
});
أولاً ، أفترض أنك تغلق بالفعل $(document).ready
, ، لأنه في كتلة الكود التي نشرتها ، لم يتم إغلاقها. تأكد من قيامك بذلك في الكود الخاص بك.
ثانياً ، ألا تبحث فقط children()
من .open
؟ في هذه الحالة تريد
$(document).ready(function() {
$('.open').click(function() {
$(this).children('.item').slideDown('1000');
});
});
تحرير: بفضل التعليقات ، قمت بإزالة live()
اقتراح.