我有几个div共享一个共同的类。如果其中一个div做而不是有一个子div,我想隐藏div。我可以找到正确的div,但我无法隐藏它。Jquery - 隐藏特定的div
这是我的代码,
$(function() {
if ($(".adRight.childen('div')").length == 0) {
$(this).hide();
}
});
我应该使用,而不是(这)是什么?这是指文档,而不是发现if语句的div。
我有几个div共享一个共同的类。如果其中一个div做而不是有一个子div,我想隐藏div。我可以找到正确的div,但我无法隐藏它。Jquery - 隐藏特定的div
这是我的代码,
$(function() {
if ($(".adRight.childen('div')").length == 0) {
$(this).hide();
}
});
我应该使用,而不是(这)是什么?这是指文档,而不是发现if语句的div。
您正在寻找:
$("div.adRight:not(:has(div))").hide();
它是如何读取。
你原来的代码与功能混淆选择器(例如,.childen
被视为一个类选择器),并表明你需要多读一点,才能扭动jQuery代码。抱歉。
例如,您的if
语句正在寻找jQuery找不到的东西(错误的语法)。 jQuery返回一个空集合 - 它有一个不抛出不需要的异常的策略,所以它的长度是0.它不寻找0个子节点。
另外,请注意,对于像hide
这样的简单操作,您不需要迭代集合 - hide
将与您已找到的元素一起使用,使用选择器。
可能:
如果($( “adRight格 ”)==未定义){ $(“。adRight”)隐藏(); (不确定)
谢谢你Kobi!非常好的和有效的代码。 :) 我的理解是否正确, - div.adRight是指adRight类的所有div? - :不是和:已检查它是否没有div? – 2010-03-09 10:02:00
乔瓦 - 正确。 jQuery的选择器非常强大,但易于使用和可读。你只需要找到合适的人! – Kobi 2010-03-09 10:05:10