2014-04-10 57 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/。 –