2011-08-19 180 views
0

我有以下HTML結構懸停:jQuery的只在最後一個元素

<div id="123" class="test"> 
    <div class="testMessage">Foo</div> 
    <div><div class="testDate">2010</div></div> 
    <div id="127" class="test"> 
     <div class="testMessage">Bar</div> 
     <div><div class="testDate">2011</div></div> 
    </div> 
</div> 

而且下面的JS代碼:

$(".test").live({ 
    mouseenter: 
     function() 
     { 
      $(this).find(".testDate").show(); 
     }, 
    mouseleave: 
     function() 
     { 
      $(this).find(".testDate").hide(); 
     } 
}); 

的問題是,當鼠標指針在#127.testDate#123也顯示。我認爲這是因爲懸停適用於父元素。如何解決它?

感謝名單!

+2

不知道這是否有幫助,但ID不允許以數字開頭。它可能會減輕瀏覽器的一些怪癖。 – pimvdb

+0

這與java有關? – RMT

+0

給我一分鐘,我會爲你敲一個例子 –

回答

2
$(".test").live({ 
    mouseenter: function() { 
     $('.testDate:first', this).show(); 
    }, 
    mouseleave: function() { 
     $('.testDate:first', this).hide(); 
    } 
}); 
2

我想這是因爲你在另一個'.test'裏面有一個元素'.test'。如果你將它們分開,你的代碼將起作用。 Here是工作示例。

+1

是的,我認爲有一個關閉div標籤需要。 –

+1

不確定其缺失... Div#123包裝div#127。我想,標記是很好的。 – sigurd

+1

是的,他提供的標記是很好的,但有時你會錯過這些小東西,也可能每個.test都是父項中的一部分。 –