2014-04-26 16 views
1

爲什麼jQuery選擇器不工作? 選擇另一個元素,如$(「body」)或另一個div工作正常。 同樣的選擇工作在CSSjQuery選擇器不適用於一個div

的Javascript:

$(".slideshow, .slideshow figure, .slideshow figure img").hover(function() { 
    stopSlideshow(); 
    alert("HEY"); 
    }, 
    function(){ 
    startSlideshow(); 
    }); 

HTML:

<div class="slideshow"> 
    <?php 
    $counter = 1; 
    foreach($images as $image) 
    { 
     echo "<figure> 
        <img src=\"" . $image . "\" width=\"1024\" height=\"600\" /> 
        <figcaption>ehojlhaiel;jgaelgkjnaqgjqaegaeg</figcaption> 
       </figure>"; 
    } 
    ?> 
</div> 

生成的HTML: http://i.stack.imgur.com/W3w6g.png

enter image description here

+0

可以分享生成的html –

+1

也可以''(「。幻燈片,.slideshow圖,.slideshow圖img」)'不需要...'$(「。slideshow」)'可能足夠 –

+0

請參閱http ://jsfiddle.net/arunpjohny/vhZS6/3/ –

回答

0

試試這個

jQuery("div.slideshow").hover(function() { 
    // code inside here 
}); 

如果這個div是動態生成,然後做這個

jQuery("div.slideshow").on("hover",function() { 
     // code inside here 
    }); 
1

這是所有關於在正確的時間,當你的slideshow格在DOM實際上是加載結合的懸停事件。要解決它,你可以這樣做,而不是:

$(document).on("mouseenter", ".slideshow", function(){ 
    //your code 
}); 

這樣你就不需要等到slideshow在DOM被加載。

另一種不使用直播活動的方式是在頁面上添加slideshow後運行代碼。

相關問題