jQuery - ilk çocuk div elde

disabled-item 'i s-yes ' in ilk altından kaldırabilmek istiyorum - ancak kaldırılmıyor mu?

Eğer console.log show 'ın değeri ise, tamamen yanlış öğenin ne olduğunu görüyorum:

[div#s-yes, prevObject: n.fn....

HTML:

<div id="s-yes" style="display: none;">
    <div class="s-item s-question disabled-item">
        

jQuery:

 show = $('#s-yes');
 show.show('fast');
 show.first().removeClass('disabled-item');

What am I doing wrong?

0

6 cevap

Üst öğe üzerinde .children() kullanmaya çalışın,

 show = $('#s-yes');
 show.show('fast');
 show.children().first().removeClass('disabled-item');

Kodunuz çalışmıyor çünkü .first() öğe koleksiyonundaki ilk öğeyi alır. Ancak kimlik seçiciyi kullanırken koleksiyonda her zaman 0/1 öğesi bulunur.

Bu nedenle, üst öğe üzerinde .children() kullanılırken. Ebeveyninin doğrudan çocuğu olan elementler koleksiyonunu iade ederdi. .children() yerine .find() kullanabilirsiniz, ancak tüm torunları döndürür.

3
katma
Mükemmel, bu düzeltti. Teşekkürler.
katma yazar b85411, kaynak

Gerekli öğeyi hedeflemek için yanlış seçiciniz var. seçiciniz $ ('# s-yes') nesnesini seçiyor:

$('.disabled-item:first',show).removeClass('disabled-item');
1
katma

Çocuklarda : ilk seçiciyi kullanın,

show = $('#s-yes');
show.show('fast');
$(':first', show).removeClass('disabled-item');
//^-children,^-parent

Kodunuz ebeveynin kendisinde first() kodunu çalıştırır.

0
katma

Bunu dene:

show = $('#s-yes');
show.show('fast');
show.find(".disabled-item:first").removeClass('disabled-item');

.first() returns the the first element with id s-yes.

0
katma
This is also Work

$("#s-yes").show('fast').children().first().removeClass('disabled-item');
$("#s-yes").show('fast').children().eq(0).removeClass('disabled-item');
$("#s-yes").show('fast').find(":first").removeClass('disabled-item');
$("#s-yes").show('fast').find(":first-child").removeClass('disabled-item');
$("#s-yes").show('fast').find(":nth-child(1)").removeClass('disabled-item');
$("#s-yes").show('fast').children(":first").removeClass('disabled-item');
$("#s-yes").show('fast').children(":first-child").removeClass('disabled-item');
$("#s-yes").show('fast').children(":nth-child(1)").removeClass('disabled-item');
0
katma
  • liste öğesi 1
  •   
  • 2. öğe listesi
  •   
  • liste öğesi 3
  •   
  • 4 numaralı liste
  •   
  • 5 numaralı liste

$ ("li") .first (). CSS ("arkaplan rengi", "kırmızı");

İlk önce ilk liste öğesini döndürür

Kullanmak yerine

Show.first (). RemoveClass ( 'özürlü maddelik')

aynı hatayı aldığınız hatayı döndürür

Yani

bunu kullan $ ('# s-yes') .children (".disabled-item") .removeClass ('disabled-öğe');

.çocuk ihtiyacınıza göre sadece bir seviye aşağı seyahat eder

if the disabled-item class is in other child elements alYani then you can use the first() after children

Bu yardımcı olur umarım

0
katma