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