我正在開發一個web應用程序,並且在開發階段我添加了一些腳本。javascript最佳實踐和文檔準備
我注意到腳本的數量很多,可能會增加。
我通常把一切封閉在的document.ready,並加載頁面時執行。
有,設置一個元素的特定樣式只有在類是存在於DOM特定腳本。
有沒有辦法運行的腳本只有在特定的元素在DOM樹?
我正在開發一個web應用程序,並且在開發階段我添加了一些腳本。javascript最佳實踐和文檔準備
我注意到腳本的數量很多,可能會增加。
我通常把一切封閉在的document.ready,並加載頁面時執行。
有,設置一個元素的特定樣式只有在類是存在於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');
}
或者您可以檢出yepnope.js
。
yepnope({
test: $(selector).length,
yep: 'file.js',
callback: function(url, result, key){
if(result){
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.');
});
}