2014-01-26 49 views
-1

我遇到了JavaScript問題,當我把它放入JSFiddle時,它工作正常。但它不會在本地工作?這裏是小提琴:http://jsfiddle.net/4Ukkz/初學javascript文本顯示

var String = "preacher preacher, 5th grade teacher"; 
document.getElementById('text').innerHTML=String; 

所以問題是。在JSFiddle中,文本將顯示,但本地不會顯示。 注意。它在小提琴中奏效。但不是在我的電腦上

+0

您正試圖在準備好之前操作DOM。小提琴使用onLoad事件運行js。 –

+0

正如有人指出(似乎他們刪除了他們的答案),創建一個名爲「字符串」的變量是不好的形式。 String是JavaScript中提供的全局對象/構造函數,通過重新定義它,如果有人試圖在同一範圍內使用全局字符串,則可能會遇到很多麻煩。我猜tl;博士;是不要使用稱爲「字符串」的變量,稱之爲別的東西。 – Aishwar

回答

1

可能是你沒有script.js文件與JavaScript代碼粘貼在小提琴?

並將腳本元素移到身體後面。所以你的JavaScript代碼在主體中的所有元素都被創建之後運行。

因此,像這樣:

<html> 
<title>hi</title> 
<head> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
</head> 
<body> 
<div id="text"></div> 
</body> 
<script type='text/javascript' src='script.js'></script> 
</html> 
2

在的jsfiddle,你的代碼會自動

window.onload = function() { 
    // your code 
}; 

這是必要的,因爲在你的代碼包,script.js包括上述<div id="text"></div>。如果您不等到該元素存在,則document.getElementById('text')將返回null,並且嘗試設置innerHTML將失敗。

解決的辦法是包裹代碼如上移動div下方的script標籤。