如何在body元素之前添加脚本

时间:2013-10-28 12:59:28

标签: javascript jquery

这似乎很简单,但我可以理解我想念的地方:

var string1 = document.createElement('script');
$(string1).attr('type', 'text/javascript');

$('body').before($(string1));

在jquery 2.0.3版本中,它工作得很完美,但我需要它在1.8.3版本中工作。我哪里错了?感谢

2 个答案:

答案 0 :(得分:2)

致电

$('body').before($(string1));

实际应该是

$('body').prepend($(string1));

这将在所有其他元素之前将脚本添加为正文的子级。

如果你的意思是before而不是身体,那么它应该是

$('head').append($(string1));

事实上,正如@Quentin在评论中所说,script代码无法直接进入html代码。

另请参阅prependbefore的文档,因为它们具有完全不同的含义。

答案 1 :(得分:0)

body元素之前添加脚本是没有意义的。这会导致HTML无效。

您应该将其添加到head

$('head').append(string1);

注意:命名变量时应该非常小心。 string1具有误导性,因为它不引用字符串而是引用script元素。