用jquery写的 为什么找不到 mouseover这个函数呢?

来源:1-4 js实现切换效果

Hakuna_Matata

2015-07-20 10:48

jQuery(document).ready(function() {
    var t = $(".dox li"),
        b = $(".dox div");
    if (t.length != b.length) return;
    for (var i = 0; i < t.length; i++) {
        t[i].id = i;
        t[i].mouseover(function() {
            for (var j = 0; j < b.length; j++) {
                b.css("display", "none");
                t.addClass('tt');
            };
            console.log(this);
            t[i].addClass('hover');
            b[this.id].css("display", "block");
        });
    };
});

写回答 关注

3回答

  • 堕天使008
    2015-07-20 11:03:19
    已采纳

    你可以了解一下 jquery对象如何转化为DOM对象, 就是通过$('p')[0] 这样,

    所以你 取值之后他就应该是一个DOM对象了,而DOM对象是没有你写的这些方法的。

    所以你变了数组应该这样

    t.each(i,o){
        o.mouseover(function(){});
    }
    //或者 用那样的for 之后
    $(t[i]).mouseover(function(){});


    Hakuna...

    受教了~ 谢谢啦

    2015-07-20 11:16:08

    共 1 条回复 >

  • Hakuna_Matata
    2015-07-20 11:16:41

    jQuery(document).ready(function() {
        var t = $(".dox li"),
            b = $(".dox div");
        if (t.length != b.length) return;
        for (var i = 0; i < t.length; i++) {
            t[i].id = i;
            // console.log($(t[i]));
            $(t[i]).mouseover(function() {
                for (var j = 0; j < b.length; j++) {
                    b.css("display", "none");
                    t.removeClass();
                };
                console.log(this);
                console.log(this.id);
                $(this).addClass('hover');
                $(b[this.id]).css("display", "block");
            });
        };
    });


    //完整的代码

  • Fayne丶VALSK
    2015-07-20 10:52:14

    是onmouseover~

    Fayne丶... 回复Hakuna...

    那就应该用$(xxx)选择器再.mouseover吧~

    2015-07-20 10:57:09

    共 2 条回复 >

Tab选项卡切换效果

本课程详细介绍网页页面中最流行常用的tab切换效果

65469 学习 · 533 问题

查看课程

相似问题