Javascript document.write 和 DOM element.AppendChild(text) 之间的区别

标签 javascript dom

我想嵌入并显示 Flash 文件。它与 document.write 一起工作得很好,但是当我尝试使用 AppendChild(text) 时,它不显示 flash,而是显示纯文本。使用什么 DOM 方法来代替?

  <html>
  <head>
 <script>
  function addText(text,elementId){
    if (document.createTextNode){
      var mytextNode=document.createTextNode(text)
      document.getElementById(elementId).appendChild(mytextNode)
    }
  }

    </script>

  </head>

  <body>

                <div id="test">

                </div>

  <script>
      addText("<embed height='100' width='100' type='application/x-shockwave-flash' allowscriptaccess='always' wmode='transparent' quality='high' swliveconnect='true' name='test' id='test' src='test.swf'>",'test');
  </script>     
  </body></html>

最佳答案

(function () {
    var myEmbed = document.createElement("embed");
    myEmbed.type="application/x-shockwave-flash";
    myEmbed.height='100';
    myEmbed.width='100';
    …
    document.getElementById("test").appendChild(myEmbed);
}());

乍一看,这种方法通常显得不必要的嘈杂和毫无值(value),但它与 HTML 的自然语法集成得更加合理。如果您希望能够将 HTML 直接写入文档,您可能会更喜欢 jQuery 这样的框架,它允许使用如下语法:

$("<embed src='…'/>")

但是,如果您只是执行所有这些操作来嵌入 Flash,请使用 swfobject .

关于Javascript document.write 和 DOM element.AppendChild(text) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7830820/

相关文章:

javascript - 无法从 JavaScript 客户端访问 Thinktecture IdentityServer3 上的登录

javascript - React-JS 如何在加载图片库之前显示预加载器图标?

javascript - 解析动态 JSON 响应

android - 如何从获取响应中提取特定的 <div> 标签?

javascript - 如何从 iframe 内部获取带有 javascript 的 iframe 的高度?具有多个 iframe 的页面呢?

javascript - 如何从过期的 Kuzzle token 服务器端恢复?

javascript - 如何在使用 jquery 创建元素时向该元素添加事件监听器

javascript - JQuery - 查找任何级别的所有后代,但不是这些后代的后代

javascript - 如何在 DOM 树显示在屏幕上之前对其进行操作? (javascript, jquery, ...)

jquery - 如果图像大于容器,请添加类