Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 让jQuery中的:not()选择器工作_Javascript_Jquery - Fatal编程技术网

Javascript 让jQuery中的:not()选择器工作

Javascript 让jQuery中的:not()选择器工作,javascript,jquery,Javascript,Jquery,在我的代码中,我添加了这个变量 var spellSpace = $('td[data-word=' + listOfWords[rndWord].name + ']').hasClass('.highlight-problem:not(.right-word)'); 由于某种原因,它在这个代码中不起作用 $('.next-question').click(function () { $('td').removeClass('highlight-problem'); var r

在我的代码中,我添加了这个变量

var spellSpace = $('td[data-word=' + listOfWords[rndWord].name + ']').hasClass('.highlight-problem:not(.right-word)');
由于某种原因,它在这个代码中不起作用

$('.next-question').click(function () {
    $('td').removeClass('highlight-problem');
    var r = rndWord;
    while (r == rndWord) {
        rndWord = Math.floor(Math.random() * (listOfWords.length));
    }
    $('td[data-word="' + listOfWords[rndWord].name + '"]').addClass('highlight-problem');
    $('td[data-word=' + word + ']').removeClass('wrong-letter').removeClass('wrong-word').removeClass('right-letter');
    var spellSpace = $('td[data-word=' + listOfWords[rndWord].name + ']').hasClass('.highlight-problem:not(.right-word)');
    if (spellSpace) {
        addMedia();
    }
});
它只是不会返回addMedia函数,我不知道为什么

有人能告诉我哪里出错了吗?

hasClass将类名作为参数,而不是选择器。您可以改为使用:

或者可能是以下情况:

var spellSpace = $('td[data-word="' + listOfWords[rndWord].name
    + '"].highlight-problem:not(.right-word)').length > 0;
hasClass获取类名作为参数,而不是选择器。您可以改为使用:

或者可能是以下情况:

var spellSpace = $('td[data-word="' + listOfWords[rndWord].name
    + '"].highlight-problem:not(.right-word)').length > 0;

或者,您可以尝试使用jQuery过滤器


或者,您可以尝试使用jQuery过滤器

jQuery hasClass函数无法接受css选择器:

用法是:

jQuery hasClass函数无法接受css选择器:

用法是:

只需将hasClass更改为is。只需将hasClass更改为is。
var spellSpace = $('td[data-word=' + listOfWords[rndWord].name + ']').hasClass('highlight-problem').not('.right-word');