我想将javascript函数传递给动态创建的div,就像我在下面尝试一样。如果我用普通字符串替换脚本字符串,这是有效的,但有没有办法在createTextNode中传递JS脚本?
newDiv = document.createElement("div");
newContent = document.createTextNode("<script type=\"text/javascript\">var pager = new Pager(3); pager.init(); pager.showPageNav('pager', 'pageNavPosition'); pager.showPage(1); </script>");
newDiv.appendChild(newContent);
TIA
答案 0 :(得分:1)
var js=document.createElement('script');
js.setAttribute("type","text/javascript");
js.appendChild(document.createTextNode(" var pager = new Pager(3); pager.init(); pager.showPageNav('pager', 'pageNavPosition'); pager.showPage(1); "));
var newDiv=document.createElement("div");
newDiv.appendChild(js);
document.appendChild(newDiv);
答案 1 :(得分:0)
<script>
标记不是文本节点
您需要使用<script>
创建document.createElement
元素。
但是,除非您尝试动态加载外部脚本文件(例如,JSONP),否则不应该这样做