在我的程序中,我有一个名为“我想在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/
答案 0 :(得分:0)
如果spellWord元素位于td内,请使用parent()
:
spellWord.parent().addClass('right-word');
请注意,parent()
只会为您提供直接的祖先,如果您需要更高的话,请使用parents()
。
closest()
,siblings()
或find()
也可能会有所帮助,具体取决于td与spellWord元素的关系。
答案 1 :(得分:0)
尝试.closest()
spellWord.closest('td').addClass('right-word');
td
是spellWord.
的父级。所以你需要转到它的td祖先,然后添加类