2011-10-13 60 views
1

我想要得到一個簡單的(至少應該很簡單)如果/ Else語句在jQuery中工作。jQuery和Javascript如果/否則

我需要的基本要點是「如果」一個特定的「div」被添加到一個頁面,然後一個類被添加到另一個div。 否則該div已應用「刪除」,並且不會顯示在頁面上。

這裏是我的代碼:

jQuery(document).ready(function(jQuery){ 
if(jQuery('#myExtraContent4').length){ 
    jQuery('#ks_footer').addClass('ifThere'); 
}, 
else { 
    jQuery('#ks_footer').remove(); 
} 
}); 

什麼最終發生的是,類「ifThere」的才能正確應用,但格「#ks_footer」不會被刪除,如果沒有被添加到它。 (它總是在那裏,即使它是空的,應該被刪除)

我希望有人能夠發現原因並提供一個關於如何改正的建議。

感謝 加里

+0

它不一定是像這個「.length()」? –

+1

不,'.length'是一個屬性,而不是一個函數:http://www.w3schools.com/jsref/jsref_length_string.asp – Jasper

+0

@JanWiemers,它的大小(),但長度也可以使用(這是一個本地js屬性,很難) – Andre

回答

4
jQuery(function($){ 
    if($('#myExtraContent4').length > 0){ 
     $('#ks_footer').addClass('ifThere'); 
    }//, <--this comma should not be here so I've commented it out 
    else { 
     $('#ks_footer').remove(); 
    } 
}); 
+0

賓果! ......我認爲我甚至沒有用逗號試過它,但由於某種原因,它現在才起作用。 – KulerGary

2
jQuery(document).ready(function(jQuery){ 
    if(jQuery('#myExtraContent4').length){ 
     jQuery('#ks_footer').addClass('ifThere'); 
    } 
    //, remove , in between if and else 
    else { 
     jQuery('#ks_footer').remove(); 
    } 
}); 
0

爲了去除#ks_footer DIV,如果它不包含子元素,你可以使用

var div = document.getElementById('#ks_footer') 
if(!div.children.length) { div.parentNode.removeChild(div); } 

請原諒我,如果是純JS不是jQuery,但我真的更加適應它...