jQuery检查元素是不是存在[重复]

Posted

技术标签:

【中文标题】jQuery检查元素是不是存在[重复]【英文标题】:jQuery check if element exists [duplicate]jQuery检查元素是否存在[重复] 【发布时间】:2014-02-17 10:22:59 【问题描述】:

如何修改下面的脚本,以便在 DOM 中不存在“.fixit”元素时不会引发错误?

function fixedHeaders() 
       var el = jQuery('.fixit'),
           offset = el.offset(),
           elHeight = el.height(),
           scrollTop = jQuery(window).scrollTop()
           if (((offset.top + 400) < scrollTop - el.height())) 
               el.addClass('fixedElement');
           

       if (scrollTop === 0) 
           el.removeClass('fixedElement');
       

jQuery(function() 
   jQuery(window)
       .scroll(fixedHeaders)
       .trigger("scroll");
);

【问题讨论】:

说真的,搜索时很难找到答案吗? 【参考方案1】:

开始

if (!jQuery('.fixit').length) return;

【讨论】:

【参考方案2】:
if ($('.fixit').length) 

     var el = jQuery('.fixit'),
           offset = el.offset(),
           elHeight = el.height(),
           scrollTop = jQuery(window).scrollTop()
           if (((offset.top + 400) < scrollTop - el.height())) 
               el.addClass('fixedElement');
           

       if (scrollTop === 0) 
           el.removeClass('fixedElement');
       


【讨论】:

以上是关于jQuery检查元素是不是存在[重复]的主要内容,如果未能解决你的问题,请参考以下文章

需要更改此 JQuery 代码以在处理之前检查元素是不是存在 [重复]

检查元素上是不是存在事件[重复]

在追加到 JQuery 之前检查 DOM 元素是不是自动存在

仅使用javascript检查由javascript创建的元素是不是存在[重复]

jQuery hasAttr 检查元素上是不是有属性[重复]

jQuery:检查下一个元素是不是存在