Javascript .innerHTML无法将其存储到变量中
这是我的代码,不起作用-谢谢大家-第一个问题Javascript .innerHTML无法将其存储到变量中,javascript,innerhtml,Javascript,Innerhtml,这是我的代码,不起作用-谢谢大家-第一个问题 <html> <head> <script type="text/javascript"> var x =document.getElementById("myElementId").innerHTML; </script> </head> <body> <div id="myElementId">24</div> <div> <
<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>
var x=document.getElementById(“myElementId”).innerHTML;
24
如果(x<25){
文件。编写(“工作”)
}
否则{
文档。写入(“不起作用”)
}
对于更新也很抱歉,但是当div位于不在同一个域上的iframe中时,你们知道怎么做吗?感谢您除了首先创建元素之外 我相信innerHtml会返回一个字符串值 首先尝试解析它
var value = document.getElementById("myElementId").innerHTML;
var x = parseInt(value,10)
这条线
var x = document.getElementById("myElementId").innerHTML;
在ID为myElementId的元素存在之前执行,因此JavaScript无法找到它(getElementById
返回null
)
将其放在元素后面:
<div id="myElementId">24</div>
<script>
var x = document.getElementById("myElementId").innerHTML;
</script>
24
var x=document.getElementById(“myElementId”).innerHTML;
HTML文档从上到下进行处理。您正在运行这一行:
var x =document.getElementById("myElementId").innerHTML;
在元素存在之前。从头部删除脚本,并将该行放在以下内容之前:
if(x < 25) {
if(x<25){
相反。将其更改为:
<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>
24
var x=document.getElementById(“myElementId”).innerHTML;
如果(x<25){
文件。编写(“工作”)
}
否则{
文档。写入(“不起作用”)
}
运行脚本时,您试图查找的元素甚至不在页面上,这就是您遇到此问题的原因。提示:当您提出问题时,请描述发生了什么,并描述您期望发生什么。“不起作用”不是问题描述。在您运行变量赋值时(第4行),DOM尚未完成加载,因此尚未创建MyLementID,使其无法访问。@Richard-JavaScript将强制字符串为数字,因此
“10”<20
等于true
哦,糟糕,我不知道。谢谢!:)是的,它不工作。我在输出中看不到工作了,控制台显示x
没有定义。我知道var x=document.getElementById(“myElementId”).innerHTML;
将起作用。但其他代码将不起作用。非常感谢!这起作用,但现在我有另一个问题-div标记(24)之间的值动态更改-但当它确实更改时,if-else不会再次执行。是否有办法解决此问题?@Marco:创建一个测试该值的函数。无论何时更改该值,都要调用该函数。(并且不要调用文档。加载页面后写入,否则它将覆盖整个内容)。您可以将函数绑定到div的onchange事件:document.getElementById(“myElementId”)。onchange=function(){//do stuff};
@Paul:我认为普通DOM元素(仅表单元素)不会触发change
事件.还是我错了?@PaulPRO真棒!谢谢你-现在你知道如果是类而不是id怎么做吗?你知道如果是类而不是id怎么做吗?