2009-10-15 83 views
0

我必須在jQuery中創建一個可展開/摺疊的面板,並面臨一些問題。 代碼 HTMLjQuery與div不工作

  <div> 
       <img src="8A7FA0A1FFEC5443785B9B29AF7629.jpg" alt="" /> 
       <div> 
        <span> 
        Hello 
       </span> 
       <ul class="myul"> 
        <li>one</li> 
       <li>Two</li> 
        </ul> 
       </div> 
       <img src="8A7FA0A1FFEC5443785B9B29AF7629.jpg" alt="" /> 
       <div> 
        <span> 
        r u there 
       </span> 
       <ul class="myul"> 
       <li>three</li> 
        <li>four</li> 
        </ul> 
       </div> 
       </div> 

jQuerycode:

   $(document).ready(function() { 

       $(".myul").hide(); 

        $("img").click(function() { 
        $(this).next(".myul").slideToggle(600); 
        }); 
        }); 

當我刪除內div標籤

     <div> 
        <span> 
        Hello 
        </span> 

其工作正常,但與維也納內DIV它不是working.Can有人幫助。 謝謝。 編輯: 如果代碼是一樣的東西:

 <li class="first"> 
     <span> 

     <img src="8A7FA0A1FFEC5443785B9B29AF7629.jpg" width="15" height="15" alt="arrow" /> 
     </span> 
     <div class="mydiv"> 
     <h3> 
      ... 
     </h3> 
     <span>.... </span> 
      <span>.... </span> 


     <ul class="myul"> 
      ....... 

然後我試圖烏爾code..but它不是working.am我失去了一些東西。

+0

完成後刪除相同。 – Wondering 2009-10-15 08:35:01

回答

2
$(this).next("div").find(".myul").slideToggle(600); 

next正在找兄弟姐妹。使用div,.myul與圖像不在同一級別,因此您的代碼失敗。

對於更新代碼,請嘗試:

$(this).parent().next("div").find(".myul").slideToggle(600); 

的圖像是一個跨度內,如此明顯的DIV不是旁邊的圖像。

+0

它的工作,但我已編輯的代碼和後..可以看看 – Wondering 2009-10-15 08:36:56

+0

謝謝,它爲我工作,我添加了一個類(而不是父),它的工作forme ..感謝您的幫助。 – Wondering 2009-10-15 09:55:28