我正在开发一个Web应用程序,在开发阶段我正在添加一些脚本。
我注意到脚本数量很多,可能会增加。
我通常将所有内容都包含在document.ready中,并在页面加载时执行。
只有在DOM中存在类时,才会有一个特定的脚本为元素设置特定的样式。
只有当特定元素在DOM树中时,是否有办法运行脚本?
答案 0 :(得分: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');
}
}
});
答案 1 :(得分:2)
要检查jQuery中是否存在元素,可以使用$(#myElement").length;
。要将此与您基于此的添加CSS的问题相结合,请使用:
if ($("#myelement").length > 0) {
// element exists
$(this).addClass("exists");
$("#otherElement").css({
"display": "block",
"background-color": "#C00"
});
}
答案 2 :(得分:2)
if ($('#yourElement').length){
$.getScript('ajax/yourjs.js', function(){
console.log('Load was performed.');
});
}