我有幾個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