为什么第二次为空?

为什么第二次为空?

第一次获取可以理解为优先打印了新设置的“new data1”,但是第二次按照视频教程里面的,不是应该remove掉了设置的“new data1”,获取了html里面的“html data1”吗?


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

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

2回答
好帮手慕夭夭 2018-10-17 14:08:51

因为removeData是删除上一步操作的data()中的数据,视频中上一步只是设置了下数据,然后在删除了,然后在此获取的时候还可以获取HTML中的。如下:

http://img1.sycdn.imooc.com//climg/5bc6d06c00016afc07420343.jpg


但是习题这里,是先设置了,然后获取了一下,这里HTML结构的先获取了,然后脚本中设置的data数据与HTML中的相同,所以在获取的时候被替换了。然后在删除的话,就把上次操作中的删除了。这里稍微有点绕,可以测试下慢慢来理解哦。

http://img1.sycdn.imooc.com//climg/5bc6d22a0001866a11060436.jpg

同学可以自己测试一下 ,把习题中如上红框获取data去掉 ,就能输出html结构中的data 

祝学习愉快 ,望采纳

好帮手慕夭夭 2018-10-17 11:49:15

因为在脚本用data重新设置了一下id属性,这就涉及到了优先级的问题,如果用data重新设置了属性,先去访问本身data设置的,再去访问html里面设置的属性,(视频中有讲到的哦)也就是下面的任何操作是针对于在脚本中新设置的这个id来说的,所以移除之后,实际上data还是存在的 ,只不过移除了它里面的id属性 ,所以会输出一个空data哦。

同学可以自己练习一下代码 , 自己测试一下能够加深理解哦 . 祝学习愉快 ,望采纳

  • 提问者 aleeeeex #1
    那为什么教程里,也是先设置了新的属性,但移除后输出的是html里面设置的属性?
    2018-10-17 12:01:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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