我正在尝试使用ids containDiv
和status
更改元素的innerHTML属性,但它只会更改containDiv
而不是status
。当我在控制台中查看时,它说“无法设置未定义的属性innerHTML
”,因此它似乎无法找到该元素,但我不知道为什么。如果有人能帮我解决这个问题,那就太好了。
HTML:
<html>
<head>
<link rel="stylesheet" href="../css/css_all.css">
</head>
<body>
<div id="wrapper">
<div class="header">Current Status:</div>
<div style="padding:2px 0px 0px 2px;">
<div id="containDiv" class="i18n-replaced">
<span id="status" class="block_count_number"></span>
loading...
</div>
</div>
</div>
<script type="text/javascript" src="../js/wtf.js"></script>
</body>
</html>
Javascript:
function checkStatus(){
var hostname = window.location.hostname,
status = document.getElementById("status"),
container = document.getElementById("containDiv");
if(hostname==="stackoverflow.com" || hostname==="facebook.com" || hostname==="youtube.com"){
status.innerHTML = "Active ";
container.innerHTML = "on this page.";
}
else {
status.innerHTML = "Not Active ";
container.innerHTML = "on this page.";
}
}
答案 0 :(得分:1)
status
位于containDiv
内...在containDiv
中覆盖新HTML后,status
不再存在。
答案 1 :(得分:0)
除了Derek所说的,试试:
<div id="wrapper">
<div class="header">Current Status:</div>
<div style="padding:2px 0px 0px 2px;">
<div id="containDiv" class="i18n-replaced">loading...</div>
<span id="status" class="block_count_number"></span>
</div>
</div>
或类似的东西。