2011-12-02 96 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.'); 
    }); 
}