Jquery 向head标记添加脚本

Jquery 向head标记添加脚本,jquery,jquery-plugins,Jquery,Jquery Plugins,可能重复: 我有这个密码 var scri = "<script type=\"text/javascript\">var _gaq = _gaq || []; _gaq.push(['setAccount','UA-22xxxxx3-15']); _gax.push(['_trackPageview']); <\/script>"; document.getElementsByTagName("script")[23].add(scri); console.log(s

可能重复:

我有这个密码

var scri = "<script type=\"text/javascript\">var _gaq = _gaq || []; _gaq.push(['setAccount','UA-22xxxxx3-15']); _gax.push(['_trackPageview']); <\/script>";
document.getElementsByTagName("script")[23].add(scri);
console.log(scri);
var scri=“var | gaq=|gaq | |[]| u gaq.push(['setAccount','UA-22xxxxx3-15']);_gax.push([''u trackPageview']);
document.getElementsByTagName(“脚本”)[23]。添加(scri);
控制台日志(scri);
我想将该元素附加到文档的头部,并尝试了.append().text().add()和许多其他方法,但总是出现错误。最后一个是

Uncaught TypeError: Object #<HTMLScriptElement> has no method 'add'
uncaughttypeerror:对象#没有方法“add”

知道如何将其附加到head元素吗?

您应该使用
document.createElement
.appendChild()


为什么要将内联脚本附加到HEAD标记?没有必要这样做。如果您希望通过URL加载远程脚本文件,则将附加到HEAD标记很有用,但在您的情况下不需要或不有用

要在JS代码想要运行的地方执行一些内联代码,只需执行如下代码:

var _gaq = _gaq || []; 
_gaq.push(['setAccount','UA-22xxxxx3-15']);
_gaq.push(['_trackPageview']); 

您正在中链接jQuery库吗?谢谢您的帮助。为什么要在HEAD标记中插入内联代码?我知道OP是这样要求的,但没有理由这样做-最好只执行所需的代码,而不是将其插入head标记中。@jfriend00您可能有更好的方法来执行此操作,但我认为如果您有一个以后必须多次调用的函数,将其附加到DOM中会更容易。我还想指出,
document.head
的处理速度比
document.getElementsByTagName'head')[0]
快得多,即使在IE上,在性能方面也是受支持的@法布里西奥马特-附加在头标签上绝对没有增加任何东西。如果要多次调用函数,只需在代码中定义一个函数即可。看在上帝的份上,这是javascript。使用语言的特点。定义一个函数。调用一个函数。执行代码。无论何时您想要运行一些代码,您都不会在文本中创建代码并将其附加到DOM中。您只需在页面中定义代码,并在需要运行时调用它。将文本附加到脚本标记的innerHTML的整个线程是荒谬的。你能说出这样做的原因吗?@jfriend00如果你的JS是在沙箱中运行的,例如Greasemonkey,通过DOM脚本注入附加它是一种常见的做法,以后可以访问它的函数,因为如果不附加它,你就不能从DOM访问Greasemonkey脚本函数(在加载运行时之后)。这是我现在唯一能想到的情况。
var _gaq = _gaq || []; 
_gaq.push(['setAccount','UA-22xxxxx3-15']);
_gaq.push(['_trackPageview']);