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() ) {
  // 如果存在则执行
}

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

© 版权声明
THE END
打赏一根烟,继续保持。
点赞1打赏作者 分享
评论 抢沙发
头像
友好交流,请勿发纯表情,请勿灌水,违者封号喔
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容