仅对某些页面执行jquery效果/操作

Gal*_*len 7 javascript jquery

到目前为止,我一直在document.ready函数中删除所有的jquery代码.我认为在某些情况下这不是最好的方法.

例如:如果我想在某个页面加载时执行动画,那么最好的方法就是这样.

$(document).ready(function() {
    $("#element_1").fadeIn();
    $("#element_2").delay('100').fadeIn();
    $("#element_3").delay('200').fadeIn();
});
Run Code Online (Sandbox Code Playgroud)

如果这是在document.ready中,那么每次加载任何页面时都会检查每一行并查找该元素.告诉jquery只在某个页面上执行一大块代码以避免此问题的最佳方法是什么.

Luc*_*ofi 10

通过在执行动画之前检查页面上是否存在elememt

if ($("#element-1").length) { 
   $("#element-1").fadeIn();
}
Run Code Online (Sandbox Code Playgroud)

等等与其他元素#element_2#element_3


到@numediaweb:

当前的jQuery is()实现如下

is: function( selector ) {
  return !!selector && jQuery.filter( selector, this ).length > 0;
 },
Run Code Online (Sandbox Code Playgroud)

因此,它可以更聪明地使用,is()但使用length更快,甚至更快起诉document.getElementById().length