jQuery 检测元素并按需加载内容

前端开发者对 jQuery 都不会陌生,而且会使用很多 jQuery 插件,如果 jQuery 插件使用得多了,会导致网页打开速度变慢。而引入的 jQuery 插件并不是每个页面都需要的。这时候使用按需加载的方法加载 jQuery 插件会对前端性能的提升有不少帮助。

按需加载的方法有很多,今天我们来说一下 jQuery 其中的一种判断元素是否存在的方法:

var $selector = $('.my-element');
if ( $selector.length > 0 ) {
  // 如果存在元素则执行
}

在这里我们先判断一下页面是否有 .slideshow 的 className,如果有,说明这个页面有幻灯,我们加载 jquery.cycle.min.js 这个 jQuery 幻灯插件。

var $slideshow = $('.slideshow');
if ( $slideshow.length > 0 ) {
  $.getScript("js/jquery.cycle.min.js").done(function() {
  $slideshow.cycle();
 });
}

如果需要经常使用,我们可以封装一个功能函数:

jQuery.fn.exists = function(){ return this.length > 0; }
  
if ( $(selector).exists() ) {
  // 如果存在则执行
}

在一些对页面效果要求比较多的实例中,上面的方法可以在一定程度上减少某个页面的载入速度,从而提升用户体验。

转载请注明出处。
何先生 » jQuery 检测元素并按需加载内容
Loading...

发表评论

表情
图片 链接 代码

提供最优质的资源集合

立即查看 了解详情