Javascript最佳实践和文档就绪

Javascript最佳实践和文档就绪,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我正在开发一个web应用程序,在开发阶段我添加了一些脚本 我注意到脚本的数量很多,并且可能会增加 我通常把所有东西都放在文档中。准备好并在加载页面时执行 只有在DOM中存在类时,才有一个特定脚本为元素设置特定样式 是否只有在特定元素位于DOM树中时才可以运行脚本?您可以(通过AJAX)加载脚本,或者在需要时运行代码,方法是检查jQuery对象的长度以查看元素是否存在 if($(selector).length > 0){ // if element is in DOM $.getS

我正在开发一个web应用程序,在开发阶段我添加了一些脚本

我注意到脚本的数量很多,并且可能会增加

我通常把所有东西都放在
文档中。准备好
并在加载页面时执行

只有在DOM中存在类时,才有一个特定脚本为元素设置特定样式

是否只有在特定元素位于DOM树中时才可以运行脚本?

您可以(通过AJAX)加载脚本,或者在需要时运行代码,方法是检查jQuery对象的长度以查看元素是否存在

if($(selector).length > 0){ // if element is in DOM
    $.getScript('file.js'); // load file
    // or just run some code
    alert('element is here');
}
或者你可以退房


若要检查jQuery中是否存在元素,可以使用
$(#myElement”).length;
。若要将此与关于基于此添加CSS的问题结合起来,请使用:

if ($("#myelement").length > 0) {
    // element exists
    $(this).addClass("exists");
    $("#otherElement").css({
        "display": "block",
        "background-color": "#C00"
    });
}

是的,我认为您可以在您的文档中执行以下操作:

if ($('#yourElement').length){
     $.getScript('ajax/yourjs.js', function(){
         console.log('Load was performed.');
     });
}
if ($('#yourElement').length){
     $.getScript('ajax/yourjs.js', function(){
         console.log('Load was performed.');
     });
}