2014-03-05 42 views
0

我是javascript新手,但我想要一個隨機字符串。這個字符串應該打印在我的當前頁面上。 我已經有:我想在當前頁面上打印一個隨機字符串

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <script type="text/javascript"> 
var strings = ['aaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'ccccccccccccccccccccccccccccccccccccccc']; 
var randomIndex = Math.floor(Math.random() * strings.length); 
var randomString = strings[randomIndex]; 
document.getElementById('randomString').innerHTML = randomString; 
</script> 
</head> 
<body> 
<div id="randomString"></div> 
</body> 

根據的jsfiddle,這個應該工作,但事實並非如此。我應該改變什麼?

+0

你有沒有嘗試把這個腳本在頁面的底部?該div可能尚未加載。 – Kraylog

+0

嗨,如果你是新來的JavaScript和網頁設計和編程,我建議你學習jQuery或其他JavaScript庫。它會改變你到一個專業的程序員,或者讓你自己的圖書館這樣很難。 – M98

+0

@ user3383917:如果有幫助,請接受答案 – Reeno

回答

1

它不起作用,因爲您的JavaScript在#randomString div存在之前執行。因此,您需要在代碼中的#randomString div之後移動您的javascript,或者在文檔準備好時使用onLoad屬性來執行該函數,這意味着您需要將當前代碼包裝在函數中。

1

您嘗試訪問div,其ID爲randomString,然後它存在於DOM中。將<script>移到底部(在div之後的某個地方),它就可以工作。

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
</head> 
<body> 
<div id="randomString"></div> 
    <script type="text/javascript"> 
var strings = ['aaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'ccccccccccccccccccccccccccccccccccccccc']; 
var randomIndex = Math.floor(Math.random() * strings.length); 
var randomString = strings[randomIndex]; 
document.getElementById('randomString').innerHTML = randomString; 
</script> 
</body> 
</html> 

順便說一句,你的代碼錯過了</html>

1

你可以試試這樣:

window.onload=function(){ 

var strings = ['aaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'ccccccccccccccccccccccccccccccccccccccc']; 
var randomIndex = Math.floor(Math.random() * strings.length); 
var randomString = strings[randomIndex]; 
document.getElementById('randomString').innerHTML = randomString; 

} 
+0

您好:我認爲這是最好的答案。 – M98

+0

謝謝.. @Kermani –