Joh*_*ohn 10 html javascript dom
基本上我要问的是给我的脚本标签一个id属性是什么意思?由于这种识别,它们内部的例程是否可以被不同地调用或引用?这会导致脚本/页面行为有问题吗?
谢谢.
Mic*_*ski 12
该id是的只是另一个访问<script>DOM树中的标签.理论上,您可以使用它document.getElementById()来检索<script>节点并将其删除或添加其他属性(尽管我不相信您可以src在DOM中加载属性后对其进行修改).在id不需要虽然这些操作-它可能已被任何DOM功能访问等getElementsByTagName("script")为好.
如果您确实需要<script>使用DOM操作来访问标记,那么id使它更容易一些.否则,没什么好处1.
1id对于向任何 DOM节点添加属性都是如此,尽管影响表示的节点也可以从CSS定位中受益id,而不像<script>标签...
正如前面的答案所提到的,一旦脚本标记中的代码运行,它的结果将不会通过替换/删除脚本节点来撤消.
但是如果代码到目前为止还没有运行,那么id会很有用.以下是这样的脚本标记:
<script id="code1" type="text/myjs">.....</script>
Run Code Online (Sandbox Code Playgroud)
由于浏览器不知道这种类型的脚本,它将忽略它的执行,但标签及其代码仍将在DOM中可用.
工作示例:http://jsfiddle.net/sv_in/rt9Q2/
这主要用于客户端模板.模板(Mustache.js的示例)存储在此类脚本标记中.当需要编译时,它是使用它的id从标签获得的.这种方法的优点是视图(模板)和模型(包含要在视图中显示的数据的js变量)是完全独立的.
除了这种做法之外,脚本标记的id没有通用用途