让我用这个示例代码解释:
<div id="wrapper">
<header>...</header>
<script type="text/javascript">...</script>
<script type="text/javascript" src="..."></script>
<script type="text/javascript" src="..."></script>
<!--header scripts inserted here-->
<div id="content">...</div>
<script type="text/javascript">...</script>
<script type="text/javascript" src="..."></script>
<!--footer scripts inserted here-->
<script type="text/javascript" src="..."></script>
<div id="something">...</div>
<footer>...</footer>
</div>
这就是我想要做的事情:(例如,JQuery仅作为真正的JS不太可读)
$(`
<script type="text/javascript" src="..."></script>
<script type="text/javascript" src="..."></script>
`).insertAfter("div#wrapper > div#content + script:eq(2)");
当然,虽然insertAfter
中的选择器不起作用...
我究竟如何让它发挥作用?
是的,脚本的位置非常具体。 (当然在体内)
我的目标是在头部中运行示例脚本,以便在加载正文中的所有内容之前将子脚本插入到页面中。
页眉在页脚之前加载,插入的脚本的顺序在它们之间很重要。
我也发现,并非每个页面都有我尝试插入的特定2个脚本,因此插入可以在有问题的div之后发生。
答案 0 :(得分:3)
Upvoted Phase Phusion。这对我来说也没有意义。我很确定如果你解释你的目标,很多人会建议你为你打算做的事情提供一些好的解决方案。但为了好玩,我会给你一个片段:
Integer num = new Integer(65);
char ch = (char)num.intValue();
您需要转义传递给jQuery的字符串,以便浏览器知道在呈现页面时它是一个字符串而不是HTML。
祝你好运:)答案 1 :(得分:1)
好吧,在内容加载之前无法找到任何东西来检查DOM元素"div#wrapper"
是否存在之后,我决定将2个脚本添加到插入位置,而不是头部,从当前&#34;加载子脚本。透视图。
参考代码:(除了加载的脚本之外,两个js文件中都相同)
$(this).append(`
<script src="..."></script>
<script src="..."></script>
`); // found out the mime-type actually detriments your html and isn't needed.
正确地加载子脚本,
添加的脚本标记不会显示在DOM(元素选项卡)