Подтвердить что ты не робот

Как выбрать первого ребенка с помощью jQuery?

Как выбрать первый div в этих divs (один с id=div1) с использованием первых дочерних селекторов?

<div class="alldivs">
   <div class="onediv" id="div1">
   </div>
   <div class="onediv" id="div2">
   </div>
   <div class="onediv" id="div3">
   </div>
</div>
4b9b3361

Ответ 1

Попробуйте с: $('.onediv').eq(0)

демо jsBin

Из демонстрации: Другие примеры селекторов и методов, нацеленных на первый LI кроме UL:

.eq() Метод: $('li').eq(0)
:eq() селектор :eq(): $('li:eq(0)')
.first() Метод $('li').first()
:first селектор: $('li:first')
:first-child селектор :first-child: $('li:first-child')
:lt() селектор :lt(): $('li:lt(1)')
:nth-child() селектор :nth-child(): $('li:nth-child(1)')

JQ + JS:

Array.slice(): $('li').slice(0,1)

Вы также можете использовать [i] чтобы получить индекс JS HTMLelement из jQuery el. (массив) коллекция, например, например:

$('li')[0]

теперь, когда у вас есть представление элемента JS, вы должны использовать нативные методы JS, например:

$('li')[0].className = 'active'; // Adds class "active" to the first LI in the DOM

или вы можете (не плохой дизайн) обернуть его обратно в объект jQuery

$( $('li')[0] ).addClass('active'); // Don't. Use .eq() instead

Ответ 2

$('div.alldivs :first-child');

Или вы можете просто ссылаться на идентификатор напрямую:

$('#div1');

Как и было предложено, вам может быть лучше использовать дочерний селектор:

$('div.alldivs > div:first-child')

Если вы не используете , чтобы использовать first-child, вы можете использовать :first, как и предлагалось, или $('div.alldivs').children(0).

Ответ 3

Используйте селектор :first-child.

В вашем примере...

$('div.alldivs div:first-child')

Это также будет соответствовать всем первым дочерним потомкам, которые соответствуют критериям выбора.

Пока :first соответствует только одному элементу, селектор :first-child может соответствовать более чем одному: по одному для каждого родителя. Это эквивалентно :nth-child(1).

Для первого только согласованного используйте селектор :first.

В качестве альтернативы Феликс Клинг предложил использовать прямой селектор потомков, чтобы получить только прямые дети...

$('div.alldivs > div:first-child')

Ответ 4

Как упоминал @Roko, вы можете сделать это несколькими способами.

1.Используя селектор first-child jQuery - SnoopCode

   $(document).ready(function(){
    $(".alldivs onediv:first-child").css("background-color","yellow");
        }
  1. Использование jQuery eq Selector - SnoopCode

     $( "body" ).find( "onediv" ).eq(1).addClass( "red" );
    
  2. Использование jQuery Id Selector - SnoopCode

       $(document).ready(function(){
         $("#div1").css("background-color: red;");
       });
    

Ответ 5

Привет, мы можем использовать метод по умолчанию "сначала" в jQuery

Вот несколько примеров:

Если вы хотите добавить класс для первого div

  $('.alldivs div').first().addClass('active');

Если вы хотите изменить удаление класса onediv и добавить только к первому ребенку

   $('.alldivs div').removeClass('onediv').first().addClass('onediv');