2014-04-10 54 views
-2

undefined的Javascript給未定義的錯誤

HTML代碼

<a id="int" onclick="level('int')" value="4">L1</a> 

JavaScript代碼:

function level(str) { 
    var lev=document.getElementById(str).value; 
    document.write(lev); // enter code here 
} 
+0

的可能重複( http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice) –

+0

嘗試'getAttribute('value')'而不是'value' –

回答

1

唯一形式控制元件有value屬性和屬性。您可以使用data-* attributes代替:

<a id="int" onclick="level('int')" data-value="4">L1</a> 

function level(str) { 
    var lev=document.getElementById(str).getAttribute('data-value'); 
    document.write(lev); 
} 

稍微好一點的版本,你的代碼:[?爲什麼文件撰寫認爲是 「不好的做法」]

<a id="int" onclick="level(this)" data-value="4">L1</a> 

function level(element) { 
    var lev = element.getAttribute('data-value'); 
    console.log(lev); 
} 

Learn more about event handling.

+0

然後你有問題的地方否則在你的代碼中,或者你沒有按照我的建議親perly,因爲它工作正常:http://jsfiddle.net/dbaH8/。 –