2011-12-02 95 views
3

我正在开发一个web应用程序,并且在开发阶段我添加了一些脚本。javascript最佳实践和文档准备

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

我通常把一切封闭在的document.ready,并加载页面时执行。

有,设置一个元素的特定样式只有在类是存在于DOM特定脚本。

有没有办法运行的脚本只有在特定的元素在DOM树?

回答

4

可以加载脚本(通过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'); 
} 

或者您可以检出yepnope.js

yepnope({ 
    test: $(selector).length, 
    yep: 'file.js', 
    callback: function(url, result, key){ 
     if(result){ 
     alert('element is here'); 
     } 
    } 
}); 
2

要检查jQuery中是否存在元素,可以使用$(#myElement").length;。当您的问题结合本有关在此基础上添加CSS,使用方法:

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

是啊,我觉得你可以这样做乌尔文件准备:

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