2011-07-19 73 views
0

我有以下HTML結構:jQuery的CSS BUG修復

<ul> 
    <li><a href><img src/></a></li> 
    <li><a href><img src/></a></li> 
    <li><a href><img src/></a></li> 
</ul> 

由於固定一些CSS錯誤,我需要知道這些圖片鏈接是在jQuery腳本「mouseovered」 後來我需要選擇器是這樣的東西

$('a img').mouseover(function(){ 
var imgElement = $(this); 
if ('a img[3]') { // if the hovered link is the third 
imgElement.animate({ 
       width: "315px", 
       height: "225px", 
       marginLeft: "-150px" 
      }, 1500); 

問題是如何獲得第二個或第三個'img'在這種情況下。

回答

1

試試這個http://jsfiddle.net/pxfunc/M2KAF/

var $imgs = $('a img'); 
$imgs.mouseover(function() { 
    var $that = $(this); 
    if ($imgs.index($that) === 2) { // if the hovered link is the third 
     $that.animate({ 
      width: "315px", 
      height: "225px", 
      marginLeft: "-150px" 
     }, 1500); 
    } 
}); 
2

試試這個

$('a img').each(function(i){ 
$(this).mouseover(function(){ 
    if (i == 2) { // if the hovered link is the third 
     $(this).animate({ 
       width: "315px", 
       height: "225px", 
       marginLeft: "-150px" 
      }, 1500); 
    } 
    }); 
}); 
+0

爲什麼不動'if'之外。現在*所有*元素都有一個事件綁定,其中除了一個之外什麼都不做。 – pimvdb

+0

我認爲他可能對其他圖像有不同的條件,所以我們需要它在mouseover事件中,否則它可以被移出。 – ShankarSangoli

1

我不知道我是正確的跟着你。如果你想要第三個<li><img>,你可以使用$('ul li:eq(2) a img')

+3

我認爲這應該是:eq(2)或者:n-child(3) – mazlix

+0

我已更新它。我忘記了是使用0索引。 –