在我的網頁,我目前正在檢查是否正在使用一個CSS類不一個,像這樣:使用jQuery,以確定是否一個div的孩子們有一個CSS類
if (!$('*').hasClass("my-special-class")) {
的上面的作品,但它檢查頁面上的每個元素。實際上,我只需要檢查特定的div
(id ='mydiv')及其子元素,但我不太確定要使用哪種選擇器,並且會歡迎一個建議?
在我的網頁,我目前正在檢查是否正在使用一個CSS類不一個,像這樣:使用jQuery,以確定是否一個div的孩子們有一個CSS類
if (!$('*').hasClass("my-special-class")) {
的上面的作品,但它檢查頁面上的每個元素。實際上,我只需要檢查特定的div
(id ='mydiv')及其子元素,但我不太確定要使用哪種選擇器,並且會歡迎一個建議?
所有你需要做的是使用選擇本身在if
聲明
if($('.my-special-class').length > 0){
//element with this class exists - do something
}
這比較將搜索任何元素的DOM與類my-special-class
。如果無法找到該元素,那麼長度返回爲0
另外,如果你想在一定元素中找到它,你可以修改你的選擇 -
if($('#myDiv .my-special-class').length > 0){
//element exists in #myDiv - do something
}
這個選擇的工作方式相同,任何CSS選擇器的工作原理,中myDiv
任何兒童my-special-class
將被選中
使用
$('#myID').find(".my-special-class").length
它將返回0,如果有與父DIV中該類沒有元素。
if ($('#yourIDorClass').children().length > 0) {
// do something
}
這應該有效。 children()函數返回一個包含子元素的JQuery對象。所以你只需要檢查大小,看看它是否至少有一個孩子。
,你必須使用類似這樣的
$('#mydiv *').hasClass("my-special-class")
類
如果mydiv的任何子元素正在使用該類,則返回true;如果未使用,則返回false。
它檢查您的HTML頁面上該類的所有內容的原因是因爲您在您的jQuery選擇器中使用'*'
。
如果你想要的目標與jQuery特定的div只是改變你的代碼看起來像:
if (!$('#myDiv').hasClass("my-special-class")) {
...
}
$('#myDiv .my-special-class').length
應該做的工作:-)
它將只檢查是否myDiv具有類我的特殊班,但不是所有具有我特級的孩子元素 – Jayababu