hasData方法疑问

hasData方法疑问

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>习题</title>
</head>
<body><h1>筛选和遍历jQuery对象</h1><ul>
    <li class="item1" data-title="title" data-id='new id'>item1</li></ul><script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script>
   var li = $('.item1');
   //console.log(li.data('id'))
    console.log($.hasData(li[0]))</script>
</body>
</html>

如果先获取了li的一个data,例如li.data('id'),再调用hasData方法,的话返回的结果为true。如果直接调用hasData方法,则放回false。这里并没有额外增加新的data,为什么结果不一样啊

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
一路电光带火花 2017-12-19 10:02:12

你去查查手册看看data和hasDate的使用吧~都以代码的返回为主。

建议你别纠结这个了,多做做练习,掌握这些使用才是关键。

提问者 宝慕林3319090 2017-12-18 19:38:49
  • 提问者 宝慕林3319090 #1
    你用data方法获取li的数据,再来用hasData方法就会变成true。
    2017-12-18 19:37:54
一路电光带火花 2017-12-03 12:46:32

如果一个元素没有数据(没有任何数据对象或数据对象是空的),该方法返回false 你把li上的data-id属性去掉,就是false了。

  • 提问者 宝慕林3319090 #1
    去掉自定义的data-属性,也一样。只要用data获取了数据名后(即使没设置),hasData方法就会返回true。
    2017-12-17 22:11:49
小丸子爱吃菜 2017-12-02 21:00:42

jQuery.hasData() 方法检测元素当前是否拥有通过使用 jQuery.data() 设置的任何值。

如果没有数据与元素相关(根本不存在数据对象或者数据对象为空),则该方法返回 false;否则返回 true。

祝学习愉快!

  • 提问者 宝慕林3319090 #1
    没用data设置值,用data获取值后,hasData方法也返回了true。
    2017-12-03 11:03:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师