我有如下HTML:
<html>
<head>
<script
var x=null;
function myFunction()
{
x=document.getElementById("myHeader");
}
</script>
</head>
<body onload="myFunction()">
<h1 id="myHeader" onclick="getValue()">Click me!</h1>
</body>
</html>
我面临的问题有时是在页面加载后变量x为null。任何关于这个问题的原因的猜测。
答案 0 :(得分:1)
尝试:
var x=document.getElementById("myHeader").innerHTML;
这将为您提供文本。
答案 1 :(得分:0)
听起来你在调用函数之前没有完全加载DOM的问题。
尝试将脚本定义移动到页面底部:
<html>
<head>
</head>
<body onload="myFunction()">
<h1 id="myHeader" onclick="getValue()">Click me!</h1>
<script>
function myFunction()
{
var x=document.getElementById("myHeader");
}
</script>
</body>
</html>
答案 2 :(得分:0)
您的脚本中存在一些问题:
1)未定义getValue函数,您必须定义getVal。
2)你必须在myFunction()中使用return(x)。
<script>
myFunction = function(){
var x = document.getElementById('myId');
return(x);
}
// now whenever you call myFunction it will return you the object 'myId'
</script>
3)或者在文档中创建一个golobal varriable X(在myFunction之外),这样你就可以从evrywhere调用它。
<script>
var x; // this will be a global variable
myFunction = function(){
x = document.getElementById('myId');
}
</script>