刷新上的随机文本

时间:2012-12-10 18:24:58

标签: javascript

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

<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]);

3 个答案:

答案 0 :(得分:1)

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

$('#myQuote').html来电包裹在$(document).ready(function() { ... })内,如this fiddle中所示。

或者,将<script>标记放在<body>的底部,以便在其余DOM之后加载。 (请参阅Unobtrusive JavaScript: <script> at the top or the bottom of the HTML code?中有关加载时选项的进一步讨论。)

答案 1 :(得分: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]);

答案 2 :(得分:0)

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

http://jsfiddle.net/TYEGh/

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

document.getElementById('myQuote').innerHTML= myQuotes[myRandom];