jQuery - 获得第一个孩子div

时间:2015-04-15 06:17:49

标签: jquery

我希望能够从disabled-item的第一个孩子中删除s-yes - 但是它没有删除?

如果我console.log show的值,那么我会看到完全错误的项目:

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

HTML:

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

jQuery的:

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

我做错了什么?

6 个答案:

答案 0 :(得分:5)

尝试在父元素

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

您的代码无效,因为.first()将获得元素集合中的第一个元素。但是在使用id选择器时,集合中总是包含0/1元素。

因此在父元素上使用.children()时。它将返回元素的集合,这些元素是其父元素的直接子元素。您可以使用.find()代替.children(),但它会返回所有后代。

答案 1 :(得分:1)

您有不正确的选择器来定位所需的元素。您的选择器正在选择对象$('#s-yes')

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

答案 2 :(得分:0)

试试这个:

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

.first()返回id为s-yes的第一个元素。

答案 3 :(得分:0)

在儿童身上使用:first选择器,

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

您的代码在父级本身上运行first()

答案 4 :(得分:0)

      
  • list item 1
  •   
  • list item 2
  •   
  • 列表项目3
  •   
  • list item 4
  •   
  • list item 5

$(“li”)。first()。css(“background-color”,“red”);

这里首先返回第一个列表项

而不是使用

Show.first()。removeClass( '禁用项')

它将返回相同的错误

所以

使用它 $('#s-yes')。children(“。disabled-item”)。removeClass('disabled-item');

。儿童根据您的要求只下降一级

如果disabled-item类也在其他子元素中,那么你 孩子可以使用第一个()

希望这会有所帮助

答案 5 :(得分:0)

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');