Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
671 views
in Technique[技术] by (71.8m points)

jquery - TypeError: $(...).parents(...).size is not a function

I have a basic script which allows me to click on the website's background, excluding #content.

After upgrading jQuery to 3.1.0 version, I get this error: TypeError: $(...).parents(...).size is not a function.

<script type="text/javascript">
  $(function() {
    $("#background").click(function(e) {
      if (e.target.id == "wrapper" || $(e.target).parents("#wrapper").size()) 
      {
        // do nothing
      } 
      else
      {
        window.open('http://example.com');
      }
    });
  })
</script>`

I don't know how to fix it. jQuery is loaded properly. Please help.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

size() was deprecated years ago and removed in version 3 ... use length instead

if (e.target.id == "wrapper" || $(e.target).parents("#wrapper").length)

All you had to do was look this up in the size() docs to find this out


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...