使用JavaScript获取另一个div ID内的div ID
编辑解释页面加载
我的HTML页面在另一个div中有一个div,都由id引用,并且在整个文档中都是唯一的。
<head>
<script type="text/javascript" src="myscript.js"></script>
</head>
...
<body onload=display()>
<div id="rightwork">
<div id="mychart" > </div>
</div>
...
我的JavaScript是为了写'mychart'div内的东西,但我无法设法引用它:(
这个问题与这个问题有关,除了这个是id内的一个类。
这是我的javascript:
function display() {
var code = "<a onclick="second(); return false;" href="#">Hello</a>";
document.getElementById('rightwork').innerHTML = code;
}
function second() {
console.log(document.getElementById('rightwork'));
console.log(document.getElementById('mychart'));
}
该线
document.getElementById("mychart");
返回null ...
而这个工作正常!
document.getElementById("rightwork");
这会返回预期的div。
我试过这个
document.getElementById("rightwork").getElementById("mychart");
这当然不起作用,因为getElementById(“rightwork”)返回单个元素。
那么,引用内部div的解决方案是什么?
只需使用
window.onload = function(){
var myChart = document.getElementById("mychart");
// ... code that loads chart
}
或者移动
<script type="text/javascript" src="myscript.js"></script>
到页面页脚以确保在运行脚本之前加载了dom
你可以发布整个myscript.js内容吗? 如果文档正确加载为什么document.getElementById("mychart");
不会工作?
可能是因为执行javascript时并未加载<div id="mychart" > </div>
并且当时加载了<div id="rightwork">
。
为确保文档已完全加载,请在html末尾放置<script type="text/javascript" src="myscript.js"></script>
。