为什么这个jQuery选择器不工作?

时间:2013-07-30 19:25:00

标签: jquery css jquery-selectors hover

JavaScript的:

<script>

$('#aboutme').on('hover', function(){
    console.log("All the stuff");
    /* $("#aboutmedropdown").css("dispay","block"); */
});

</script>

HTML(css inline for now):

            <div class="nav">
                <ul class="navlist">
                    <li style="position: relative;"><a href="#"><img src="/img/nav-home.png" alt="Navigation Home"></a></li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-about.png" id="aboutme" alt="Navigation About"></a>
                        <div id="aboutmedropdown" style="width: 150px; position: absolute; background-color: #FFFFFF;">
                            <ul style="list-style: none; padding: 0; margin: 0; border-bottom: 5px solid #8cc419;" class="sub_menu">
                                <li style="display: block; font-size: 16px; line-height: 20px; text-align: center; border-bottom: 1px solid #8cc419;"><a href="#" style="color: #8CC419;">About Me</a></li>
                                <li style="display: block; font-size: 16px; line-height: 20px; color: #8CC419; text-align: center; border-bottom: 1px solid #8cc419;"><a href="#" style="color: #8CC419;">Testimonials</a></li>
                            </ul>
                        </div>
                    </li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-yoga.png" alt="Navigation Yoga"></a></li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-pilates.png" alt="Navigation Pilates"></a></li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-fitness.png" alt="Navigation Fitness"></a></li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-media.png" alt="Navigation Media"></a></li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-fitcamp.png" alt="Navigation Fitcamp"></a></li>
                    <li style="position: relative;"><a href="#"><img src="/img/nav-blog.png" alt="Navigation Blog"></a></li>
                </ul>
            </div>

我正在检查元素并非常清楚地看到我需要悬停在#aboutme上的图像上有正确的ID。

我正在查看网页来源,并看到我的<script>jQuery都已加载。

然而,当我将鼠标悬停在ID为aboutme的图像上时,控制台中没有任何反应。

有什么想法吗?

4 个答案:

答案 0 :(得分:7)

请勿将hoveron一起使用,使用mouseout或等效mouseenter mouseout(一起):

http://jsfiddle.net/deJNU/

或者像这样使用悬停方法:

$('#aboutme').hover(function() {
  console.log('hover in');
}, function() {
  console.log('hover out');
});

*编辑:您还缺少文档准备就绪,无需向我投票给我正确答案..

答案 1 :(得分:2)

试试这个:

$(document).ready(function(){
    $(document).on('hover', '#aboutme' , function(){
        console.log("All the stuff");
        /* $("#aboutmedropdown").css("dispay","block"); */
    });
});

答案 2 :(得分:2)

<script>之后移动#aboutme标记(最好是在</body>之前)或使用:

//equivalent to $(document).ready(function () {
$(function () {
    $('#aboutme').on('hover', function () {

答案 3 :(得分:0)

尝试以这种方式使用它:

$(document).on('hover', '#aboutme', function(){
    console.log("All the stuff");
    /* $("#aboutmedropdown").css("dispay","block"); */
});