有的时候需要用javascript动态生成一些html,常用的方式为动态拼一串html,然后通过innerHTML输出到dom中。类似
sourceNodeDiv.innerHTML="<div style='width:95%'>" + "<table style='width:100%'>" + "<tr><td width='20%' style='text-align:right'>System:</td>" + "<td>" + "<select onchange='Discovery.chooseSystemSourceNode()' id='id_system_node_select' [color=red]dojoType='dijit.form.ComboBox'[/color]></select>" + "</td></tr></table></div>";
但通过innerHTML输出的html不能执行,比如dojoType='dijit.form.ComboBox',生成的text为dojotype='dijit.form.ComboBox',dojoType小写了。这样就达不到想要的结果。
解决方案为生成html后,dojo.parser.parse(sourceNodeDiv);