#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.