Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 为什么随机问题[0]==$(“问题3”)的计算结果为false?_Javascript_Jquery - Fatal编程技术网

Javascript 为什么随机问题[0]==$(“问题3”)的计算结果为false?

Javascript 为什么随机问题[0]==$(“问题3”)的计算结果为false?,javascript,jquery,Javascript,Jquery,` 如果随机问题[0]==$(“#问题3”)不起作用,为什么 所有条件仍然显示alert unsame。据我所知,您无法比较jquery对象,因此请尝试比较DOM对象,如: var questions = new Array($("#question1"), $("#question2"), $("#question3")) var randomQuestion = questions.sort(() => .5 - Math.

`

如果随机问题[0]==$(“#问题3”)不起作用,为什么


所有条件仍然显示alert unsame。

据我所知,您无法比较jquery对象,因此请尝试比较DOM对象,如:

var questions = new Array($("#question1"), $("#question2"), $("#question3"))
var randomQuestion = questions.sort(() => .5 - Math.random());

console.log( randomQuestion[0] )
console.log(  $("#question3") )
if ( randomQuestion[0] === $("#question3") ){ alert("same")}
else { alert("unsame")} `
$(某物)
创建jQuery对象。您正在创建两个相同的jQuery对象,但是对象比较并不关心对象是否相同,只关心它们是否是相同的对象

而是比较DOM元素:

if (randomQuestion[0][0] === $('#question3')[0])
或测试元素的ID:

randomQuestion[0][0] === $("#question3")[0]

正如我在评论部分所说,使用
.is()
检查元素是否相同:)

var questions=新数组($(“#question1”)、$(“#question2”)、$(#question3”))
var randomQuestion=questions.sort(()=>.5-Math.random());
console.log(随机问题[0])
console.log($(“#问题3”))
如果((问题[0])是($(“#问题3”)){
警报(“相同”)
}否则{
警惕(“不说”)
}

问题1
问题2

问题3
可能是因为排序是随机的?使用
(randomQuestion[0])。是($(“#问题3”)
这是因为您无法直接比较jQuery对象。您需要比较对象的属性-理想情况下是一个
id
(如果可用)为什么要工作?即使
randomQuestion[0]
包含id为
question3
的元素,您也在比较两个不同的jQuery对象。这只适用于实际的DOM节点
randomQuestion[0]).is($("#question3")