Ответ 1
Изменить: Добавлено DEMO Ссылка
Вы можете использовать .filter
для проверки состояния и вызова .hide
результатов фильтрации. См. Ниже,
$("#div a").filter(function () {
return ($(this).children().length > 0)
}).hide();
Я использую оператор if
, чтобы определить, есть ли у элемента какие-либо дочерние элементы. Если у него НЕ есть детей, я хочу сделать что-то только для этого элемента.
Здесь предпосылка того, что я пытаюсь сделать:
if ($("#div a").children().length > 0){
$(this).hide();
}
Итак, если тег <a>
не имеет дочерних элементов, я хочу что-то сделать с этим конкретным элементом (или несколькими элементами, у которых также нет детей).
Проблема заключается в том, что this
не определен, потому что это оператор if
.
Я мог бы полностью упустить что-то, но я не совсем уверен, как это сделать. Любые советы будут оценены
Изменить: Добавлено DEMO Ссылка
Вы можете использовать .filter
для проверки состояния и вызова .hide
результатов фильтрации. См. Ниже,
$("#div a").filter(function () {
return ($(this).children().length > 0)
}).hide();
вы можете использовать каждый для итерации через элементы
$('input').each(function(){
if ($(this).val()) {
$(this).addClass('has-value');
}
});
Простое решение состоит в том, чтобы поместить элемент в переменную.
var elem = $("#div a");
if (elem.children().length > 0){
elem.hide();
}