2011-11-04 56 views
0

我想知道如何在用户点击下面使用jquery(importantImg不在下面,但是在我的程序中)的img链接“importantImg”后显示多个div。问题是这只是整个页面的一部分,也有div,所以我不想让我的选择是“div”,我只想与这4个特定的div进行交互。下面是一个包含了5个格的HTML:jquery显示多层div

<div id="divLayer1"> 
<div id="divLayer2" class="alertPod"> 
    <img src="<%= Page.ResolveUrl("~/{0}/_res/_images/icon_alertMessage.png", PBS.Cms.Settings.PBSFolderName) %>" /> 

</div> 

<div id = "divLayer3" class="msgPod"> 
    <div id= "divLayer4" class="messageWrapper"> 
     <h6>IMPORTANT ANNOUNCEMENT</h6> 
     <div class="box">   
      <div id="divLayer5" class="viewport" style="overflow: auto; height: 48px;" runat="server"> 
       <p> <%--id= "importantMessage">--%> 
       <asp:Literal ID="ltimportantannouncementTitle" runat="server"></asp:Literal> 
       <br /> 
       <asp:Literal ID="ltimportantannouncementSummary" runat="server"></asp:Literal> 
       </p> 
      </div> 
     </div> 
    </div> 
    <a href="#" ><img id="alertCloseBtn" src="<%= Page.ResolveUrl("~/   {0}/_res/_images/button_alertMsgClose.png", PBS.Cms.Settings.PBSFolderName) %>" /></a> 

下面是我使用的jQuery脚本不工作:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("img#importantImg").click(function() {     
      $("#divLayer1").show(); 
      $("#divLayer2").show(); 
      $("#divLayer3").show(); 
      $("#divLayer4").show(); 
      $("#divLayer5").show();             
      $("#importantImg").attr("src", "<%= Page.ResolveUrl("~/{0}/_res/_images/icon_alertMessage.png", PBS.Cms.Settings.PBSFolderName) %>");        
     }); 
    }); 

</script> 
+0

对于显示呈现的代码(即浏览器在填充服务器端变量后看到的内容)通常会好得多(对您和我们来说)。通常不可能进行调试。 – nrabinowitz

+0

谢谢你让我知道。我更新了我的帖子,以便将您对代码浏览器在服务器端变量填充后看到的内容加以说明。 – jre247

回答

0

两米这里的东西:

1)你不”你需要为你所有的函数做一个$(document).ready()。你可以做一次,然后把所有东西都放进去。

2)你的例子有点棘手,因为这是一个jQuery的问题,那里有ASP代码。这里是我的,你正在试图做什么解释:

的Javascript: $(文件)。就绪(函数(){ $( '#show_message')点击(函数(){ $(”。 !消息 ')HTML(' 这是一个重要的信息 '); $(' alert_pod“)显示(); });

 $('#hide_message').click(function() { 
      $('.alert_pod').hide(); 
     }); 
    }); 

HTML: 查看留言 重要消息去这里 隐藏讯息

我不知道ASP(或任何你使用的),但我怀疑问题是你的一些元素似乎没有ID。你在Javascript中调用它们,但JS找不到元素,因为我没有id =“importantImg”。

希望有所帮助。

+0

我为每个元素添加了id,因为您说得对,我没有某些元素的id。 headerAlertMessage框中的文本仍然出现同样的问题,但没有显示,只有一个空的黑盒子。 – jre247

+0

我有一个我想要显示的图像元素,除了文本。 html()仍然适用于此? – jre247

+0

为了回答它,我更新了我的帖子,使其更易于理解。任何帮助?谢谢! – jre247