0

私のプログラムには、td クラスに必要な「正解」というクラスがありますが、実際に問題が発生しています。

ここで、「正しい単語」クラスを「spellWord」に追加します。しかし、代わりに「td」クラスに追加する方法。

var spellWord = $('.highlight-problem .drop-box');
            if (!spellWord.filter(':not(.occupied)').length) {
                var wordIsCorrect = 0;
                spellWord.each(function () {
                    if ($(this).parents('td').data("letter") == $(this).find("div").data("letter")) {
                        console.log('letter is: ' + $(this).find("div").data("letter"))
                        wordIsCorrect++;
                    }
                });
                console.log(spellWord.length + ' , ' + wordIsCorrect);
                if (spellWord.length == wordIsCorrect) {
                    spellWord.addClass('right-word');
                    $(right).css('visibility', 'visible');
                    $(wrong).css('visibility', 'hidden');
                    score.right++;
                    $('.score').html(score.right + "/2").show();
                    setTimeout(function() {
                        successSound.play();
                    }, 200);

などを試してみました。

spellWord.addClass('td').addClass('right-word');

$('.td').addClass('right-word');

しかし、それを機能させることはできません。フィドル: http://jsfiddle.net/smilburn/Dxxmh/93/

4

2 に答える 2

0

spellWord 要素が td 内にある場合は、次を使用しますparent()

spellWord.parent().addClass('right-word');

parent()は直接の祖先のみを提供することに注意してくださいparents()。より上位に移動する必要がある場合は、代わりに使用してください。

closest()siblings()、またはfind()td が spellWord 要素との関係でどこにあるかによって、役立つ場合もあります。

于 2012-11-01T16:59:48.600 に答える
0

試す.closest()

spellWord.closest('td').addClass('right-word');

tdの親ですspellWord.。したがって、その td 祖先に移動してから、クラスを追加する必要があります

于 2012-11-01T17:00:36.570 に答える