jQuery在if语句中使用’this’
我正在使用if
语句来确定元素是否有任何子元素。 如果它没有任何孩子,我只想对该元素做一些事情。
这是我正在尝试做的前提:
if ($("#div a").children().length > 0){ $(this).hide(); }
因此,如果标签没有子
,我想对该特定元素(或多个也没有子元素的元素)执行某些操作。
问题是this
尚未定义,因为它是一个if
语句。
我可能完全错过了一些东西,但我不太清楚如何实现这一目标。 任何意见,将不胜感激
编辑:添加了DEMO链接
您可以使用.filter
检查条件并在过滤结果上调用.filter
。 见下文,
$("#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(); }