echarts捕获不到动态的id

问题遇到的现象和发生背景

echarts捕获不到通过js动态创建的div的id 加载世界地图加载不了 但是如果直接在body里面创div可以获取到

img

问题代码
    <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);下面不会执行

这是修改后的代码 (option没有给出,变量放前面也不行)
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 然后在渲染到页面上?