2014-04-20 18 views
1

嗨jQuery腳本不添加顯示塊的所有相同的鬃毛divs,只爲第一個。jQuery .css不會添加display:block;爲所有div

JS

$("#sidecontrol_container").mouseenter(function(){ 
    setTimeout(function(){ 
    $('#packet_name').css('display','block'); 
     },310); 
$("#sidecontrol_container").animate({ 
     width:"230px" 
    }, 300);  
}); 
$("#sidecontrol_container").mouseleave(function(){ 
    $('#packet_name').css('display','none'); 
    $("#sidecontrol_container").animate({ 
     width:"40px" 
    }, 300); 
}); 

HTML

<div id="sc_wraper"> 
    <div id="packet_name">1</div> 
</div> 

<div id="sc_wraper"> 
    <div id="packet_name">1</div> 
</div> 

CSS

#packet_name{ 
    height:40px; 
    width:190px; 
    float:right; 
    display:none; 
} 

只mouseen後<div id="packet_name" style="display:block;">1</div>

HTML結果和名稱packet_name增加了對第一個div ter

<div id="sc_wraper"> 
     <div id="packet_name" style="display:block;">1</div> 
    </div> 

    <div id="sc_wraper"> 
     <div id="packet_name">1</div> 
    </div> 
+1

你需要使用div類,ID只能用於頁面上的單個事件。然後適當調整你的jQuery – robobobobo

+1

Id必須是唯一的。 –

+0

感謝它的工作! :) –

回答

2

它只是改變第一個的原因是因爲jQuery只選擇div名稱的第一個實例,因爲它的ID。

如果您想更改多個同名的div,則需要使用div類來替換其名稱。一旦你更新你的html以使用類名,使用jQuery做同樣的事情,它應該可以工作

+0

OMG。這樣一個愚蠢的錯誤,但我不會想到它(我對這些語言比較陌生)。謝謝! – user2847749

相關問題