2012-07-30 57 views
1

這裏是我的腳本,林不知道我錯過了什麼使這項工作,這將有助於這麼多問題。感謝Jquery - 隱藏一個ID,除非另一個ID可見

$(document).ready(function() { 
    $("#btnUpdate1_div, #btnAddress1_div, #btnUpdate2_div, #btnAddress2_div").hide(); 
    $("#StepArea_lnkAddressBook, #StepArea_linkToAddressBookItem").hide(); 
    if ("#StepArea_warningAddressBook") { 
     $("#StepArea_lnkAddressBook, #StepArea_linkToAddressBookItem").show(); 
    } 
}); 
+0

我也會推薦使用css最初隱藏div:'#btnUpdate1_div,#btnAddress1_div,#btnUpdate2_div,#btnAddress2_div {display:none}'。使用javascript隱藏它們可能會導致初始閃爍,因爲js需要一段時間才能加載,所以在被隱藏之前它們是可見的。 – TK123 2012-07-30 17:14:27

+2

快速谷歌搜索「jQuery檢查是否可見」或「jQuery檢查是否隱藏」會節省寫入問題並給出答案。 – TheCarver 2012-07-30 17:18:41

回答

0

好吧,我得到了答案,我不得不改變我怎麼問這個問題。

$(document).ready(function() { 
if ($("#StepArea_lnkAddressBook, #StepArea_linkToAddressBookItem").is(":visible")){ 
$("#StepArea_lnkAddressBook, #StepArea_linkToAddressBookItem").hide(); 
}else if (
    $("#StepArea_warningAddressBook").is(':visible')) { 
     $("#StepArea_lnkAddressBook, #StepArea_linkToAddressBookItem").show(); 
} 

});

5

您可以使用.is(':hidden').is(':visible')類似以下內容:

if($("#StepArea_warningAddressBook").is(':hidden')) { // change condition what you want 
    $("#StepArea_lnkAddressBook, #StepArea_linkToAddressBookItem").show(); 
} 

相關裁判:

+0

謝謝,我嘗試了一些有點不同,它似乎工作,接受我不能得到#StepArea_linkToAddressBookItem顯示,如果StepArea_warningAddressBook是val = 1 – Cam 2012-07-30 17:26:20

+0

if \t($(「#StepArea_warningAddressBook」)。val(「0」)){ \t \t $(「#StepArea_lnkAddresBook,#StepArea_linkToAddressBookItem」)。hide(); \t \t}如果{ \t \t($( 「#StepArea_warningAddressBook」)VAL( 「1」)。) \t \t $( 「#StepArea_lnkAddressBook,#StepArea_linkToAddressBookItem」)顯示(); \t \t} \t}); – Cam 2012-07-30 17:26:26

+0

@Cam所以現在你的代碼有什麼問題? – thecodeparadox 2012-07-30 17:34:41