如何在动态创建的div中传递Javascript函数
我想向动态创建的div传递一个javascript函数,如下所示。如果我将脚本字符串替换为普通字符串,这是可行的,但是有没有办法在createTextNode中传递JS脚本如何在动态创建的div中传递Javascript函数,javascript,html,dom,Javascript,Html,Dom,我想向动态创建的div传递一个javascript函数,如下所示。如果我将脚本字符串替换为普通字符串,这是可行的,但是有没有办法在createTextNode中传递JS脚本 newDiv = document.createElement("div"); newContent = document.createTextNode("<script type=\"text/javascript\">var pager = new Pager(3); pager.init()
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);
newDiv=document.createElement(“div”);
newContent=document.createTextNode(“var pager=new pager(3);pager.init();pager.showPageNav('pager','pageNavPosition');pager.showPage(1);”;
newDiv.appendChild(newContent);
TIAA标记不是文本节点。
您需要使用document.createElement
创建
元素
但是,您不应该这样做,除非您尝试动态加载外部脚本文件(例如,JSONP)无论您尝试做什么,都有更好的方法来完成。为什么要将JavaScript动态地放在
标记中?无论这些函数做什么,它们都可以从
外部执行。当您创建这样的新div时,您需要将该div附加到文档对象或任何节点或头部等的某个位置。
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);