2012-07-30 106 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