insert script tag Uncaught SyntaxError:意外的标识符

时间:2016-12-18 06:14:13

标签: javascript html

当我尝试运行以下代码时,出现错误:

Uncaught SyntaxError: Unexpected identifier

为什么?

var script = document.createElement("script");
script.type = "text/javascript";
script.innerHTML="var time = setInterval(flower, 100); var flower01=document.getElementById("flowerContainerDiv"); function flower(){if(flower01.parentNode!==null) flower01.parentNode.removeChild(flower01);}";
var head = document.getElementsByTagName("head");
head[0].appendChild(script);

2 个答案:

答案 0 :(得分:1)

如果你试图执行javascript,为什么不通过在script标签中插入来直接代替这样做,因为如果这个代码要执行那么你已经在javascript标签中了:

var time = setInterval(flower, 100); 
var flower01=document.getElementById("flowerContainerDiv"); 
function flower(){
  if(flower01.parentNode!==null)        
    flower01.parentNode.removeChild(flower01);
}

否则,如果您仍然希望这样做,可以将此代码放在函数和调用中的更简洁方法,因为将脚本代码作为字符串是不可读的:

function dosomestaff(){
  var time = setInterval(flower, 100); 
  var flower01=document.getElementById("flowerContainerDiv"); 
  function flower(){
    if(flower01.parentNode!==null)        
      flower01.parentNode.removeChild(flower01);
  }
}

var script = document.createElement("script");
script.type = "text/javascript";
script.innerHTML="dosomestaff()";
var head = document.getElementsByTagName("head");
head[0].appendChild(script);

如果您仍想让代码工作,只需更改

"flowerContainerDiv"    to    'flowerContainerDiv'

答案 1 :(得分:-2)

这可能会有所帮助。 1.有时浏览器不喜欢你把脚本标签放在脑袋里 2.你不必申报你可以遗漏的类型