如何动态地在html元素中使用document.write

时间:2016-10-24 13:43:45

标签: javascript dom

目前我正在使用以下代码

<html>
  <head>
    <script>
      window.onload = function(){
      var parser = new DOMParser();
      var html = "<html><body><p>this is" + 
          "<script>document.write('dynamic')<\/script> text.</p></body></html>";
      var doc = parser.parseFromString(html,'text/html');
      document.body.appendChild(doc.body.children[0]);
      }
    </script>
  </head>
    <body>
        <p>this is <script>document.write('dynamic')</script> text.</p>
    </body>
</html>

显示:这是动态文本。

但目前我正在通过ajax加载页面dynamicaly 并使用新的DOMParser进行解析。 但它不打印&#34;动态&#34;只显示:这是文字。

1 个答案:

答案 0 :(得分:0)

您可以使用here显示的DOM操作方法:

var h = document.createElement("H1")                // Create a <h1> element
var t = document.createTextNode("Hello World");     // Create a text node
h.appendChild(t);  

heredocument.getElementById("demo").innerHTML = "Paragraph changed!";

当你正在通过AJAX加载页面时,你可能必须确保所有内容都以正确的顺序流动,即:在收到页面后更改DOM,等等。(不知道你的周围的代码,所以我真的不能说出来。)