以下是我的YWA包装器的代码
var astr_ywascript = (document.createElement("script").type = "text/javascript").src = "http://d.yimg.com/mi/eu/ywa.js";
document.head.appendChild(astr_ywascript); // <- error on this line
它在页面加载时运行,因此JS无法找到文档头标记。
有什么想法吗?
由于
Opera在同一行上抛出此错误。 Uncaught exception: Error: WRONG_ARGUMENTS_ER
萤火虫说:document.head is undefined [Break On This Error] document.head.appendChild(astr_ywascript);
答案 0 :(得分:16)
在第
行(document.createElement("script").type = "text/javascript").src
您正在设置字符串的src属性。括号中的赋值返回指定的值。您稍后会在同一行中犯同样的错误,最终将"http://d.yimg.com/mi/eu/ywa.js"
分配给astr_ywascript
将其拆分为不同的行:
var el=document.createElement("script");
el.type="text/javascript"
el.src=...
document.head.appendChild(el);
原始Javascript很少以人们习惯使用jQuery的方式运行。
您可能还希望得到以下结论:
document.getElementsByTagName("head")[0]
答案 1 :(得分:8)
我在Backbone.js中遇到了这个错误,因为我在做:
$('#backbone').html(@view.render())
而不是
$('#backbone').html(@view.render().el)
就像我应该做的那样。仍然不知道这个'el'业务是什么,但我相信我很快就会明白。
答案 2 :(得分:0)
只需为可能会点击此页面的人添加此答案,就像我在搜索“Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
错误的答案时所做的那样。
我在Chrome中遇到此错误。就我而言,我使用的是.appendChild(ttt);
问题是ttt
是一个数组对象,而不是我想要附加的div。
因此,请确保您要附加的内容实际上是一个DOM对象,而不是偶然的另一种对象类型。