Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
jQuery:这个随机选择器是相当可预测的_Jquery - Fatal编程技术网

jQuery:这个随机选择器是相当可预测的

jQuery:这个随机选择器是相当可预测的,jquery,Jquery,在这把小提琴中,我创建了一个包含两个元素的数组,#f-ONE和#ONE。有一个功能,当单击“开始”框时,随机选择两个元素中的一个,并根据选择的元素显示黄色或红色框 然而,事实上,总是选择了黄色框,所以有些东西不起作用 然而,完全相同的随机选择代码在其他上下文中工作(请参阅),所以我不知道问题出在哪里 这是: if ('ran === #f-one') { 应该是: if (ran === 'f-one') { 按照您的方式,它将始终计算为true,因为非空字符串总是“truthy” 编辑:未

在这把小提琴中,我创建了一个包含两个元素的数组,#f-ONE和#ONE。有一个功能,当单击“开始”框时,随机选择两个元素中的一个,并根据选择的元素显示黄色或红色框

然而,事实上,总是选择了黄色框,所以有些东西不起作用

然而,完全相同的随机选择代码在其他上下文中工作(请参阅),所以我不知道问题出在哪里

这是:

if ('ran === #f-one') {
应该是:

if (ran === 'f-one') {
按照您的方式,它将始终计算为
true
,因为非空字符串总是“truthy”

编辑:未看到
toLowerCase()

此:

if ('ran === #f-one') {
应该是:

if (ran === 'f-one') {
按照您的方式,它将始终计算为
true
,因为非空字符串总是“truthy”


编辑:没有看到
toLowerCase()

您的代码有点复杂,这里已清理:

var myArray = [];

myArray[0] = "ONE"; 
myArray[1] = "f-ONE"; 

//function getRandom to choose a random element from array 
function getRandom(array) { 
  var key = Math.floor(Math.random() * array.length); 
  return array[key];
}

$(".start").click(function() { 
  var id = '#' + getRandom(myArray;  
  $(id).show();
});
在JSFIDLE上:


哦,实际的问题是'asdf====asdf',这是一个字符串,非空字符串将始终为真。

您的代码有点复杂,这里对其进行了清理:

var myArray = [];

myArray[0] = "ONE"; 
myArray[1] = "f-ONE"; 

//function getRandom to choose a random element from array 
function getRandom(array) { 
  var key = Math.floor(Math.random() * array.length); 
  return array[key];
}

$(".start").click(function() { 
  var id = '#' + getRandom(myArray;  
  $(id).show();
});
在JSFIDLE上:


哦,实际的问题是'asdf====asdf'是一个字符串,非空字符串将始终为真。

@Michael:我刚刚更新了。您还试图将
ONE
f-ONE
#f-ONE
进行比较,这两种方法永远不会匹配。@Michael:我刚刚更新过。您还试图将
ONE
f-ONE
#f-ONE
进行比较,这两种方法永远不会匹配。非常感谢。我会仔细研究的。然而,我的代码将需要小写函数用于其他目的…非常感谢。我会仔细研究的。然而,我的代码将需要小写函数用于其他目的。。。