2

jquery index() は要素の 1 つを認識していないようです。常に「未定義のプロパティ '長さ' を読み取ることができません」と言っています。これが私のコードです。mnumber は問題を引き起こしているものです。 、ホバーするボックスに基づいて正しい値を与えます。

$(".module-details-lesson-container").hover(function () {
    var number = $(".module-details-lesson-container").index(this) - 9;
    var mnumber = $(".module-container").index(this);
    jQuery.each(modules[1][number], function (index, value) {
        $(".module-details-words-learned-body").eq(1).append("<div class='module-details-word'>" + value + '</div>');
    });
}, function () {
    $(".module-details-word").remove();
});

cssファイル

<div class="module-container">
<div class="module-tab  envelope-heading white-font"></div>
<div class="module-body">


            <div class="module-details-lesson-container"></div>
            <div class="module-details-lesson-container"></div>
        </div>

        <div class="module-details-words-learned">
            <div class="module-details-words-learned-body ">
                <div class="module-details-word"></div>
            </div>
        </div>

</div>

4

2 に答える 2

3

私はそれが言及されたすべて$(this)の場所の代わりになければならないと思うthis

于 2012-10-30T19:33:11.593 に答える
0

問題は、キーワードの誤用のようですthis。必要なスコープ内の適切なオブジェクトにアクセスするには、デリゲート関数内で $(this) に置き換える必要があります。

$(".module-details-lesson-container").hover(function(){
        // Changed this to $(this) below
        var number = $(".module-details-lesson-container").index($(this))-9;
        var mnumber = $(".module-container").index($(this));

        jQuery.each(modules[1][number], function(index,value){
            $(".module-details-words-learned-body").eq(1).append("<div class='module-details-word'>" + value + '</div>');
        });
    },
    function(){$(".module-details-word").remove();
}); 
于 2012-10-30T19:37:23.527 に答える