我试图在刷新时进行简单的文本更改:
<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]);
答案 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
$('#myQuote').html(myQuotes[myRandom]);
与
document.getElementById('myQuote').innerHTML= myQuotes[myRandom];