HTML javascript函数创建元素

时间:2016-04-29 17:47:10

标签: javascript html dom

我在javascript中有这个功能:

function inc(filename) {
        var head = document.getElementsByTagName('head').item(0);
        script = document.createElement('script');
        script.src = filename;
        script.type = 'text/javascript';
        head.appendChild(script);
    }

如果我调用此函数,它将在DOM中创建一个元素。没关系。
但是如果我再次调用它,我希望它在前一个元素的顶部创建一个元素,这样我在DOM中只有一个由这个函数创建的元素。
它已经这样做了吗?如果没有,我怎么能实现呢?

我不太了解DOM,因为你可以从这个问题看到。

2 个答案:

答案 0 :(得分:2)

使用replaceChild()查看代码段时,您必须使用开发工具查看它是否有效。

function swap(parent, replacement, url) {
  var alpha = document.querySelector(parent);
  var target = alpha.childNodes[0];
  var omega = document.createElement(replacement);
  omega.src = url;
  alpha.replaceChild(omega, target);
}

swap('head', 'script', 'http://end.com');
<!doctype html>
<html>
  <head>
    <script src="http://beginning.com"></script>
  </head>
  <body>
    
    </body>
  </html>

答案 1 :(得分:1)

虽然这完全没有意义,但您可以通过更改此行来轻松实现此行为

script = document.createElement('script');

script = script || document.createElement('script');