.innerHTML将它存储到变量中的问题

时间:2011-08-24 19:42:54

标签: javascript innerhtml

这是我的代码无效 - 谢谢你们 - 第一个问题!

<html>
<head>
<script type="text/javascript">
var x =document.getElementById("myElementId").innerHTML;


</script>

</head>

<body>
<div id="myElementId">24</div>
<div>

<script type="text/javascript">
if (x < 25) {
document.write("worked")
}
else {
document.write("didn't work")
}
</script>

    也很抱歉更新,但你们有一个想法,当div在iframe不在同一个域上时如何做到这一点?感谢

4 个答案:

答案 0 :(得分:1)

这一行

var x = document.getElementById("myElementId").innerHTML;

之前执行标识为myElementId的元素,因此JavaScript无法找到它(getElementById返回null)。

放在元素之后:

<div id="myElementId">24</div>
<script>
    var x = document.getElementById("myElementId").innerHTML;
</script>

HTML文档从上到下进行处理。

答案 1 :(得分:1)

你正在运行这一行:

var x =document.getElementById("myElementId").innerHTML;

元素存在之前。从头部删除脚本并放在该行之前:

if(x < 25) {

相反。

答案 2 :(得分:0)

除了首先创建元素外,

我相信innerHtml会返回一个字符串值    尝试先解析它;

var value  = document.getElementById("myElementId").innerHTML;
var x   = parseInt(value,10)

答案 3 :(得分:0)

将其更改为:

<html>
<head>


</head>

<body>
<div id="myElementId">24</div>
<div>

<script type="text/javascript">
var x =document.getElementById("myElementId").innerHTML;
if (x < 25) {
document.write("worked")
}
else {
document.write("didn't work")
}
</script>

当您运行脚本时,您尝试查找的元素在页面上甚至不存在,这就是您遇到此问题的原因..