2015-08-20 1 views

ответ

1

согласно селектору, похоже, вы пытаетесь добавить класс к первому элементу ребенка в первом элементе с классом расширения. Вы можете использовать:

$(".expand:first > *:first").addClass("test"); 
+0

Это работает! Благодаря! – ivanacorovic

0

Глядя на ваш вопрос вы пытаетесь добавить класс к первому элементу класса expand.Why вы не используете: «развернуть» селектор первого ребенка для этой цели $ (тег : первый-ребенок)

1

Почему ваши попытки не работают:

  1. в первой вы превратили объект Jquery к йот элементу, и вы пытаетесь применить Jquery .addClass() метод. поэтому это приводит к ошибке.
  2. Во втором вы использовали .get(0), который также дает вам узел dom вместо объекта jquery. так что также вызывает ошибку.

Решение:

$(".expand:eq(0) > *:eq(0)").addClass("newClass"); 

эта линия будет получить вам первый элемент класса expand и он будет найти первый ребенок и затем применяет новый класс.

Хотя вы можете сделать это с помощью простых JS тоже:

var parent = document.getElementsByClassName('expand')[0]; 
    parent.children[0].className = "newClass"; 
+0

Благодарим вас за это. – ivanacorovic