这是我的代码无效 - 谢谢你们 - 第一个问题!
<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不在同一个域上时如何做到这一点?感谢
答案 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>
当您运行脚本时,您尝试查找的元素在页面上甚至不存在,这就是您遇到此问题的原因..