如何在动态创建的div中传递Javascript函数

时间:2011-10-19 19:32:47

标签: javascript html dom

我想将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

2 个答案:

答案 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),否则不应该这样做