Возможно? if ($(this:первенец).is(«элемент»)) — использование селекторов с $(this)

#jquery

#jquery

Вопрос:

Мне довольно легко добиться этого, и это работает:

 if ($(this).next().is("object")){//dostuff}
 

Но из-за новых содержаний div теперь я должен проверить первый дочерний элемент этого.
Но $ (this) не подходит для селекторов, как мне сделать то же самое на этом месте?

Это не работает:

   if ($(this:first-child).is("element")) 
 

Комментарии:

1. Я сомневаюсь, что это работает, поскольку это даже недопустимый Javascript.

2. Хм, это полностью так. И это jQuery, а не JS.

3. Вы понимаете, что jQuery — это библиотека, написанная на JavaScript

4. Нет, второй блок полностью недействителен JavaScript. jQuery написан на JavaScript 😉

5. @RGBK: (a) Нет, у вас очень очевидная синтаксическая ошибка. (b) jQuery — это библиотека, написанная на Javascript, а не на каком-то отдельном языке. Вы все еще пишете Javascript, используя функции jQuery (которые в основном начинаются с вызова функции $ ).

Ответ №1:

Что вы имеете в виду, что это «не очень хорошо»? Вы не пишете :first-child вне строки для любого другого селектора, так зачем вам this это делать?

Стек селекторов $(this) , как и для любого другого объекта jQuery:

 $(this).find(':first-child').is("element");
 

или:

 $(':first-child', this).is("element");
 

Для этого конкретного сценария могут быть более эффективные решения, но мой ответ демонстрирует $(this) , как использовать любой другой объект jQuery.