Javascript document.getElementById(";xxxxx";).innerHTML不是';你根本不工作吗?

Javascript document.getElementById(";xxxxx";).innerHTML不是';你根本不工作吗?,javascript,dom,getelementbyid,Javascript,Dom,Getelementbyid,我在尝试将字符串变量的值写入DOM中的特定元素到特定div时遇到问题 让我们假设游戏=十 document.getElementById("game").innerHTML=game; 不写信给: <div id="game"></div> 问题是下面的代码我有一个脚本,在这个脚本的末尾我可以记录。写(游戏),它工作正常,但我不能把它写到div?也许我是想做错事 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra

我在尝试将字符串变量的值写入DOM中的特定元素到特定div时遇到问题

让我们假设游戏=十

document.getElementById("game").innerHTML=game;
不写信给:

<div id="game"></div>

问题是下面的代码我有一个脚本,在这个脚本的末尾我可以记录。写(游戏),它工作正常,但我不能把它写到div?也许我是想做错事

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<!--<form id="teamSelect"onsubmit="return function games();"><select>
    <option value="TEN">Tennessee</option>
    <option value="GB">Green Bay</option>
    </select>
    <input type="submit" name="Submit" />
    </form>
-->

<script>
var jsonString = '{"ss":[["Thu","7:30","Pregame",,"JAC",,"NE",,,,"55425",,"PRE1","2011"],' +
    '["Thu","7:30","Pregame",,"BAL",,"PHI",,,,"55424",,"PRE1","2011"],' +
    '["Thu","8:00","Pregame",,"SEA",,"SD",,,,"55423",,"PRE1","2011"],' +
    '["Thu","8:30","Pregame",,"DEN",,"DAL",,,,"55426",,"PRE1","2011"],' +
    '["Thu","10:00","Pregame",,"ARI",,"OAK",,,,"55427",,"PRE1","2011"],' +
    '["Fri","7:30","Pregame",,"MIA",,"ATL",,,,"55430",,"PRE1","2011"],' +
    '["Fri","7:30","Pregame",,"CIN",,"DET",,,,"55429",,"PRE1","2011"],' +
    '["Fri","7:30","Pregame",,"PIT",,"WAS",,,,"55431",,"PRE1","2011"],' +
    '["Fri","8:00","Pregame",,"TB",,"KC",,,,"55428",,"PRE1","2011"],' +
    '["Fri","8:00","Pregame",,"SF",,"NO",,,,"55432",,"PRE1","2011"],' +
    '["Sat","7:30","Pregame",,"GB",,"CLE",,,,"55433",,"PRE1","2011"],' +
    '["Sat","8:00","Pregame",,"NYG",,"CAR",,,,"55437",,"PRE1","2011"],' +
    '["Sat","8:00","Pregame",,"BUF",,"CHI",,,,"55434",,"PRE1","2011"],' +
    '["Sat","8:00","Pregame",,"IND",,"STL",,,,"55435",,"PRE1","2011"],' +
    '["Sat","8:00","Pregame",,"MIN",,"TEN",,,,"55436",,"PRE1","2011"],' +
    '["Mon","8:00","Pregame",,"NYJ",,"HOU",,,,"55438",,"PRE1","2011"]]}';

//var jsonString = '{"test": "test1"}';    

for (i=0; i<15;i++) {
    if ("TEN" == eval('(' + jsonString + ')').ss[i][6] || "TEN" == eval('(' + jsonString + ')').ss[i][4]) {
    var game=(eval('('+jsonString+')').ss[i][6] + ' vs ' + eval('('+jsonString+')').ss[i][4]);
    var day=(eval('('+jsonString+')').ss[i][0] + ' at ' + eval('('+jsonString+')').ss[i][1]);
    }
}
document.write(game);
document.getElementById("game").innerHTML=game;
</script>

<div id="game" style="font-family:Arial, Helvetica, sans-serif; font-size:12px; line-height:16px">hello</divЮ
</body>
</html>

无标题文件
var jsonString='{“ss”:[[星期四”,“7:30”,“赛前”,“JAC”,“NE”,“55425”,“PRE1”,“2011”],'+
“[“星期四”、“7:30”、“赛前”、“BAL”、“PHI”、“55424”、“PRE1”、“2011”]、”+
“[“星期四”,“8:00”,“赛前”,“赛后”,“SD”,“55423”,“赛前1”,“2011”],”+
“[“星期四”,“8:30”,“赛前”,“赛后”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“赛前”,“+
“[“周四”,“10:00”,“赛前”,“阿里”,“橡树”,“55427”,“赛前”,“2011”],”+
“[“周五”,“7:30”,“赛前”,“米亚”,“ATL”,“55430”,“赛前”,“2011”],”+
“[“星期五”,“7:30”,“赛前”,“CIN”,“DET”,“55429”,“赛前”,“2011”],”+
“[“周五”,“7:30”,“赛前”,“PIT”,“WAS”,“55431”,“PRE1”,“2011”],”+
“[“周五”,“8:00”,“赛前”,“TB”,“KC”,“55428”,“赛前”,“2011”],”+
“[“周五”、“8:00”、“赛前”、“SF”、“否”、“55432”、“赛前”、“2011年”]、”+
“[“Sat”,“7:30”,“赛前”,“GB”,“CLE”,“55433”,“PRE1”,“2011”],”+
“[“Sat”,“8:00”,“赛前”,“NYG”,“赛车”,“55437”,“PRE1”,“2011”],”+
“[“Sat”,“8:00”,“赛前”,“BUF”,“CHI”,“55434”,“PRE1”,“2011”],”+
“[“Sat”,“8:00”,“赛前”,“IND”,“STL”,“55435”,“PRE1”,“2011”],”+
“[“周六”,“8:00”,“赛前”,“分钟”,“十分钟”,“55436”,“赛前”,“2011年”],”+
“[“周一”、“8:00”、“赛前”、“NYJ”、“侯”、“55438”、“PRE1”、“2011”]];
//var jsonString='{“test”:“test1”}';

对于(i=0;i,在执行脚本并查找元素时,它还不存在,因为它是稍后出现的

确切地说,它还没有被解析并添加到DOM中

因此,将脚本移动到HTML文件的底部(至少在元素下方)


如果您使用的是某种库,它也可以很容易地解决:例如,对于jQuery,将所有内容放在
$(function(){…}
块中。这样,直到DOM完全加载后,它才会被执行(此时您可以安全地搜索元素).

在执行脚本并查找元素时,该元素还不存在,因为它稍后会出现

确切地说,它还没有被解析并添加到DOM中

因此,将脚本移动到HTML文件的底部(至少在元素下方)


如果您使用的是某种库,那么它也可以很容易地解决:例如,对于jQuery,将所有内容放在
$(function(){…}
块中。这样,直到DOM完全加载后,它才会被执行(此时您可以安全地搜索元素)。

或者您可以使用jQuery

$(document).ready(function(){});

或者可以使用jQuery

$(document).ready(function(){});

当您试图访问#game元素时,该元素尚未创建。 您应该等待onload事件并将函数绑定到此事件:

<script type="text/javascript">
function init() {
   /**your code here**/
}
</script>

<body onload="init()">
<div id="game"></div>
</body></html>

函数init(){
/**你的代码在这里**/
}

当您试图访问尚未创建的#游戏元素时。 您应该等待onload事件并将函数绑定到此事件:

<script type="text/javascript">
function init() {
   /**your code here**/
}
</script>

<body onload="init()">
<div id="game"></div>
</body></html>

函数init(){
/**你的代码在这里**/
}
Init()函数将不起作用,因为DOM没有完全加载。要么使用jquery或dojo并使用document ready函数,要么将javascript块放在html文档的末尾,也就是在结束正文标记之前

让您自己成为Firebug,并在开始时重写如下代码:

<html>
<body>
<div id="myid"></div>
</body>
<script language="Javascript">
document.getElementByID('myid').innerHTML = ....
</html>

document.getElementByID('myid')。innerHTML=。。。。
Tamer

Init()函数将不起作用,因为DOM没有完全加载。您可以使用jquery或dojo并使用document ready函数,或者将javascript块放在html文档的末尾,也就是结束正文标记之前

让您自己成为Firebug,并在开始时重写如下代码:

<html>
<body>
<div id="myid"></div>
</body>
<script language="Javascript">
document.getElementByID('myid').innerHTML = ....
</html>

document.getElementByID('myid')。innerHTML=。。。。
驯服者