Javascript 为什么我要在脚本标签上添加ID?

Javascript 为什么我要在脚本标签上添加ID?,javascript,html,Javascript,Html,我注意到一些web开发人员在脚本标签上添加了ID。例如: <script id="scripty" src="something.js" type="text/javascript"></script> 我知道,根据W3C,这是完全合法的标记,但这样做的好处是什么?我看到的一个用途是,如果您想为客户提供小部件,并指示他们将标记放置在他们希望小部件显示的任何位置。如果给元素一个ID,那么可以在其内部引用该ID以将代码放置在正确的位置。当然,这并不是说这是实现这一目标的

我注意到一些web开发人员在脚本标签上添加了ID。例如:

<script id="scripty" src="something.js" type="text/javascript"></script>


我知道,根据W3C,这是完全合法的标记,但这样做的好处是什么?

我看到的一个用途是,如果您想为客户提供小部件,并指示他们将
标记放置在他们希望小部件显示的任何位置。如果给
元素一个ID,那么可以在其内部引用该ID以将代码放置在正确的位置。当然,这并不是说这是实现这一目标的唯一方法,但我已经看到了它的实现,并且。

我已经看到它用于微模板,您可以将模板放入脚本标记中,然后通过ID引用它


-请注意,这不是实现这一点的唯一方法,只是约翰版本的方法。

好处是您可以使用全局变量
window.foo
或仅
foo
引用带有
id=“foo”
的元素:


通过使用ID,您可以等待特定的JS文件完成加载。FB是这样做的

(function(d, s, id){
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)){ return; }
    js = d.createElement(s); js.id = id;
    js.onload = function(){
        // remote script has loaded
    };
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
facebook jssdk
是他们的唯一标识符

[https://stackoverflow.com/a/8578840][1]