如何在特定子div之后选择第二个脚本?

时间:2017-01-05 02:43:52

标签: javascript html

让我用这个示例代码解释:

<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之后发生。

2 个答案:

答案 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(元素选项卡)