2011-08-09 44 views
0
$(document).ready(function(){ 
    $("#yanMenu ul").hide(); 
    $("div#button").click(function(){ 
     $(this).next().slideToggle("normal"); 
     }); 
    }); 


         <div id="yanMenu">   
          <div id="button"><h5>Kategori 1</h5></div> 
      <ul> 
       <li><a href="#">Secenek 1</a></li> 
       <li><a href="#">Secenek 2</a></li> 
       <li><a href="#">Secenek 3</a></li> 
       <li><a href="#">Secenek 4</a></li> 
      </ul> 
      </div> 
<!-- This code it doesnt work!--> 
         <div id="yanMenu">   
           <div id="button"><h5>Kategori 1</h5></div> 
       <ul> 
        <li><a href="#">Secenek 1</a></li> 
        <li><a href="#">Secenek 2</a></li> 
        <li><a href="#">Secenek 3</a></li> 
        <li><a href="#">Secenek 4</a></li> 
       </ul> 
       </div> 
<!-- This code it doesnt work!--> 

它是切換菜單腳本。當我再次複製這個HTML代碼時,它在ie9和ie 7中沒有工作我可以做什麼?jquery問題Internet Explorer 9和7

回答

3

因爲您在頁面中多次使用相同的ID。 ID應該是唯一的(每頁只有一個實例)

嘗試使用類來代替。

$(document).ready(function(){ 
    $(".yanMenu ul").hide(); 
    $(".button").click(function(){ 
     $(this).next().slideToggle("normal"); 
     }); 
    }); 


    <div class="yanMenu">   
     <div class="button"><h5>Kategori 1</h5></div> 
     <ul> 
      <li><a href="#">Secenek 1</a></li> 
      <li><a href="#">Secenek 2</a></li> 
      <li><a href="#">Secenek 3</a></li> 
      <li><a href="#">Secenek 4</a></li> 
     </ul> 
     </div> 
    <div class="yanMenu">   
     <div class="button"><h5>Kategori 1</h5></div> 
     <ul> 
      <li><a href="#">Secenek 1</a></li> 
      <li><a href="#">Secenek 2</a></li> 
      <li><a href="#">Secenek 3</a></li> 
      <li><a href="#">Secenek 4</a></li> 
     </ul> 
     </div> 
1

ID值應該是唯一的(我假設你的編譯器可能會給你一個警告,如果你有重複)。這些可以屬於同一個類,或者甚至可以使用name屬性來標記。

$('div[class="toggle"]').click(function(){.....} 
<div id="button1" class="toggle"> 
<div id="button2" class="toggle"> 

...或名稱屬性,而不是類,但類是概率的優選的路要走

+0

(「DIV [類=‘肘節’]」)比(」 .toggle較慢一大堆')看看我剛剛做出的這個性能測試。 http://jsperf.com/jquery-attr-vs-class-selection – Blowsie