0

我正在尝试在刷新时进行简单的文本更改:

<strong>Title</strong>
<p id="myQuote">Slogan</p>

并且“口号”部分在刷新时发生了变化:

var myQuotes = new Array();
myQuotes[0] = "To be or not to be";
myQuotes[1] = "The only thing we have to fear is fear itself";
myQuotes[2] = "Give me liberty or give me death";

var myRandom = Math.floor(Math.random()*myQuotes.length);

$('#myQuote').html(myQuotes[myRandom]);
4

3 回答 3

1

在加载 DOM 之前,您无法选择或操作 DOM 元素。

this fiddle所示$('#myQuote').html,将您的电话包装在 a 中。$(document).ready(function() { ... })

或者,将您的<script>标签放在您的底部,<body>以便它在 DOM 的其余部分之后加载。(请参阅 Unobtrusive JavaScript 中关于加载时间选项的进一步讨论:<script> 在 HTML 代码的顶部还是底部?。)

于 2012-12-10T18:29:51.143 回答
0

我的猜测是 jQuery 没有加载....

if (jQuery) {  
    alert('jQuery is loaded'); 
} else {
    alert('not loaded');
}

然后检查您是否从随机函数中获取值。

var myRandom = Math.floor(Math.random()*myQuotes.length);

alert(myQuotes[myRandom]); //Add this to your code

$('#myQuote').html(myQuotes[myRandom]);
于 2012-12-10T18:31:50.780 回答
0

替换以下内容以避免在脚本中使用 jQuery

http://jsfiddle.net/TYEGh/

$('#myQuote').html(myQuotes[myRandom]);

document.getElementById('myQuote').innerHTML= myQuotes[myRandom];
于 2012-12-10T18:36:08.223 回答