说我有一些文字和一个按钮:
<p id="text-box">placeholder text</p>
<button id="text-btn">New Quote Please.</button>
当我点击按钮时,我希望在#文本框中显示一些新内容。所以我创建了一个数组和一些jQuery函数:
var textArr = [word0, word1, word2, word3, word4...];
$(document).ready(function() {
$( "#text-btn" ).click(function(){
x = Math.floor(Math.random()*textArr.length); //This line is the problem.
});
$("#text-box").html(textArr[x]);
});
这个想法是当单击按钮时会生成一个随机数,然后该数字用于选择textArr中的项目以显示在#text-box中。我相当肯定问题出现在注释行中。我认为$(&#34;#text-btn&#34;)函数中的x值要么根本没有创建,要么没有被传递到$(&#34; #text-box&#34; )功能。
感谢您的时间。
答案 0 :(得分:2)
向我们展示控制台尝试console.log。和文本框html必须是内部点击事件。
$(document).ready(function() {
$( "#text-btn" ).click(function(){
x = Math.floor(Math.random()*quoteArr.length); //This line is the problem.
console.log('check', Math.floor(Math.random()*quoteArr.length))
$("#text-box").html(textArr[x]);
});
});
答案 1 :(得分:1)
你有一些小错误
试试这个......
$(document).ready(function() {
var textArr = ['word0', 'word1', 'word2', 'word3',' word4'];
$( "#text-btn" ).click(function(){
var x = Math.floor(Math.random()*(textArr.length));
$("#text-box").text(textArr[x]);
});
});
更新
我发现的一些错误是:
$("#text-box").text(textArr[x]);
放在了点击功能x = Math.floor(Math.random()*textArr.length);
,格式正确为var x = Math.floor(Math.random()*(textArr.length));
document.ready
函数中定义数组。答案 2 :(得分:0)
好的,什么是quoteArr?你引用了错误的数组名称!试试这个。
x = Math.floor(Math.random()*(textArr.length));