28

在body里面的div里面有一个script标签有什么不好的?

我正在动态更新 div 以在 div 中重新加载 javascript 代码。有什么问题需要担心吗?


编辑

正如@Bergi 坚持要查看代码。在这里(见下文)。这div(连同其他div包含演示 HTML 元素)通过 AJAX 更新。这script里面div包含地图来处理页面上新加载的 HTML 元素和原始数据。

        <div>
            <script type="text/javascript">
                var namesMap = <dynamic string from server here>;
                var addressesMap = <dynamic string from server here>;
            </script>
        </div>
4

6 回答 6

45

<script>将标签放置在文档正文中的任何位置都是完全可以的。

这里开始

SCRIPT 元素将脚本放置在文档中。这个元素可以在 HTML 文档的 HEAD 或 BODY 中出现任意次数。

但是,无论何时出现<script>标签,它都会暂停代码解析,直到脚本被加载并执行。

于 2012-10-25T19:10:49.650 回答
10

您可以<script></script>在 DIV 标签内添加。只需检查 w3c,它是有效的 HTML。

于 2012-10-25T19:10:32.670 回答
8

没什么不好的。大多数小部件都以这种方式工作。它仍然是有效的 HTML。

如果您想在网页中嵌入 AdSense 单元,则需要这样做。亚马逊小部件也是如此。这意味着大多数网站在 div 中都有一个 script 标签。

于 2012-10-25T19:11:14.190 回答
1

将脚本放入 html 中有利有弊。好处是可以将一个小脚本放置在使用它的位置附近,这样您就可以更轻松地了解页面在做什么。

我认为,如果除了那个位置之外没有其他人需要该脚本,那么将它放在那里就可以了。

不好的是,当您将程序的各个部分分成多个位置时,查看和管理这些部分如何相互作用和相互干扰变得更加困难。然而,如果您将 html 和 javascript 保存在单独的文件中,则更容易独立理解它们,然后最终关注它们如何相互交互。它们之间的“接口”是什么。

如果 JavaScript 散布在 html 中,那么您不能将脚本代码与组织 HTML 分开组织。

还有一点需要注意:如果你有一个 DIV,你可能会认为你可以通过重新分配它的 innerHTML 来操纵它的内容。这很有效,但您不能以这种方式将脚本注入 DIV。看:

可以用 innerHTML 插入脚本吗?

因此,在 DIV 中包含脚本的一件坏事是,您无法通过重新分配其 innerHTML 来替换此类脚本。

于 2018-07-15T03:18:35.133 回答
0

通过里面的脚本<DIV>仍在工作。但是你的布局有些恼火 - 滚动时摇晃。最佳解决方案:将脚本放入<body><head>:D

于 2017-07-23T08:38:24.353 回答
-2

尝试将<script></script>标签放入<head></head>. 然而,最近出现了是否将标签放在标签末尾的争论<body></body>,就在之前会使页面更快。

我建议将你的<script></script>in<head></head>部分放在你的 HTML 文档中,因为它更受欢迎。此外,将一个<script></script>放在 DIV 中并不是一个好习惯。

您可以发布您的示例以获得关于组织文档结构的更好答案。

总而言之,你所做的没有问题。但我建议采用更有条理的方式。

于 2012-10-25T19:11:19.183 回答