echarts捕获不到通过js动态创建的div的id 加载世界地图加载不了 但是如果直接在body里面创div可以获取到
<script type="text/javascript">
window.onload = function(){
var charts_container = document.createElement("div");
var chart_world = document.createElement("div");
var world_map = document.createElement("div");
var world = document.createElement("div");
var charts_container_class = document.createAttribute("class");
var chart_world_class = document.createAttribute("class");
var world_map_class = document.createAttribute("class");
var world_class = document.createAttribute("class");
var charts_container_id = document.createAttribute("id");
var chart_world_id = document.createAttribute("id");
var world_map_id = document.createAttribute("id");
var world_id = document.createAttribute("id");
// 设置各class,id的值
charts_container_class.value = "charts-container";
chart_world_class.value = "chart-world";
world_map_class.value = "world-map";
world_class.value = "chart";
charts_container_id.value = "charts-container";
chart_world_id.value = "chart-world";
world_map_id.value = "world-map";
world_id.value = "world";
// 为创建的各div添加class,id
world.setAttributeNode(world_id);
charts_container.setAttributeNode(charts_container_class);
chart_world.setAttributeNode(chart_world_class);
world_map.setAttributeNode(world_map_class);
world.setAttributeNode(world_class);
charts_container.setAttributeNode(charts_container_id);
chart_world.setAttributeNode(chart_world_id);
world_map.setAttributeNode(world_map_id);
// 设置按钮的各项参数
document.body.insertBefore(charts_container,headline.nextSibling);
document.getElementById("charts-container").appendChild(chart_world);
document.getElementById("chart-world").appendChild(world_map);
document.getElementById("world-map").appendChild(world);
chart_world.setOption(option_world);
</script>
当时想的是不是和执行时间有关 用settimeout也没有用,alert()如果放在chart_world.setOption(option_world);下面不会执行
var charts_container = document.createElement("div");
var chart_world = document.createElement("div");
var world_map = document.createElement("div");
var world = document.createElement("div");
var class_charts_container = document.createAttribute("class");
var class_chart_world = document.createAttribute("class");
var class_world_map = document.createAttribute("class");
var class_world = document.createAttribute("class");
var id_charts_container = document.createAttribute("id");
var id_chart_world = document.createAttribute("id");
var id_world_map = document.createAttribute("id");
var id_world = document.createAttribute("id");
class_charts_container.value = "charts-container";
class_chart_world.value = "chart-world";
class_world_map.value = "world-map";
class_world.value = "chart";
id_charts_container.value = "charts-container";
id_chart_world.value = "chart-world";
id_world_map.value = "world-map";
id_world.value = "world";
world.setAttributeNode(id_world);
charts_container.setAttributeNode(class_charts_container);
chart_world.setAttributeNode(class_chart_world);
world_map.setAttributeNode(class_world_map);
world.setAttributeNode( class_world);
charts_container.setAttributeNode(id_charts_container);
chart_world.setAttributeNode(id_chart_world);
world_map.setAttributeNode(id_world_map);
document.body.appendChild(charts_container);
document.getElementById("charts-container").appendChild(chart_world);
document.getElementById("chart-world").appendChild(world_map);
document.getElementById("world-map").appendChild(world);
var init_map_world = echarts.init(document.getElementById('world'), 'white', {renderer: 'canvas'});
init_map_world.setOption(option_world);
就是页面加载完毕出现世界地图 但是是加载在动态创建的div里
你已经获取到了你手动创建的节点,你直接拿你这个对应 world 节点去匹配 echarts 然后在渲染到页面上?