Даже если бы селекторы были правильными, синтаксис css(...) перепутан.
Не легче ли так?
$('.wrapper > .item > .children > .item:nth-of-type(1)').css("background-color", "green");
https://jsfiddle.net/OPTlMUS/5ymw6aqb/Или так, или самый короткий вариант - кажется ваш, рабочий.
Можно упростить себе задачу, чуть поменяв названия классов)
Если искать комбо-селектором среди children - не знаю, что там на самом деле произойдет, но если элемент и найдется - он же всё равно не окажется дочерним.
P.s.
css("color", "red");
Через запятую, когда один... и двоеточия, когда объект:
css({
"color": "red",
"background-color": "white",
"width": "100px",
})
https://jsfiddle.net/ucj89bLe/
В нем вот эта строчка работает:
$wrapper.children('.item').children('.children').children('.item:nth-of-type(1)').css('background-color', 'green');
Но мне кажется, что можно сделать все куда более оптимизированнее, поскольку здесь для достижения цели используется 4 функции. Разве нельзя все сделать через 2?
Проблема в том, что нужно указать для $wrapper селектор, который будет начинаться с дочернего элемента. Что-то типа такого (но это не работает):
$wrapper.find('.item > .children > .item:nth-of-type(1)').css('background-color: green');
или
$wrapper.children('.item > .children > .item:nth-of-type(1)').css('background-color: green');
Как мне это сделать?