无法执行带有div标签父级的Javascript-Script标记

时间:2017-10-31 13:15:04

标签: javascript console

我创建了两个标签,一个是div,另一个是scriptScript标记有src,它是div标记的子标记。如果我将div标记附加到DOM的headbody,则src为脚本标签未下载。 我的代码是

var scriptTag= document.createElement("script");
scriptTag.type = "text/javascript";
scriptTag.src = "https://example.com/example.js";
var divTag=document.createElement("div");
div.innerHTML=scriptTag.outerHTML;
document.body.appenChild(divTag);

注意:“https://example.com/example.js”不是实际的网址。我的实际网址包含js文件。

1 个答案:

答案 0 :(得分:1)

那里有几个问题:

  1. div不是head
  2. 的有效子元素
  3. 您已经创建了一个script元素对象,但是您尝试使用outerHTML(通过文本标记往返)将其添加到div
  4. appendChild有两个d,而不只是一个
  5. 将脚本放在div
  6. 中是没有意义的

    正确的方法是:

    var scriptTag= document.createElement("script");
    scriptTag.type = "text/javascript";
    scriptTag.src = "https://example.com/example.js";
    document.head.appendChild(scriptTag); // Or append it to document.body, doesn't matter
    

    如果你确实想要div,那么你必须将div放在body中(直接或嵌套):

    var scriptTag= document.createElement("script");
    scriptTag.type = "text/javascript";
    scriptTag.src = "https://example.com/example.js";
    var div = document.createElement("div");
    div.appendChildD(scriptTag);
    document.body.appendChild(div);
    

    ......哪个会奏效,但没有意义。