H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【Web前端问题】jquery的lazyloading源码疑惑

lazyload的源码里有一段是说当图片没有设置src属性的时候就添加默认的placeholder图片~但是为什么if判断里还要加$self.attr(“src”) === false呢~直接undefined就可以了吧~

if ($self.attr("src") === undefined || $self.attr("src") === false) {
  if ($self.is("img")) {
                    $self.attr("src", settings.placeholder);
                }
            }

回答:

As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. To retrieve and change DOM properties such as the checked, selected, or disabled state of form elements, use the .prop() method.

jQuery 1.6之后(包含1.6)确实只需要处理undefined就行了,如果要兼容旧版本,就得像作者一样。

本文地址:H5W3 » 【Web前端问题】jquery的lazyloading源码疑惑

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址