有一些问题

有一些问题

鉴于我们JS课程教的实在少,所以很多看不懂:请问老师这里红框部分都代表什么意思,特别是 $(this) 
http://img1.sycdn.imooc.com//climg/5d15f8dd0001186e07070651.jpg

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

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

9回答
提问者 雨之赞歌 2019-07-01 15:03:17

老师您的意思是这是个对象? 那么它的作用是什么?
http://img1.sycdn.imooc.com//climg/5d19b0240001c72b12590116.jpg

  • 同学你好,attr-id可以理解为是一个标志,保证在调用attr('attr-id')时可以获取数据,attr-id可以不是这个名字,也可以是id,那么调用attr('id')也是可以获取到数据的。attr-id并不是HTML中的属性,而是js中一个对象(注:attr()是jquery中的调用方式)。祝学习愉快!
    2019-07-01 15:38:07
  • 提问者 雨之赞歌 回复 好帮手慕小尤 #2
    只能在id前面加attr-吗?
    2019-07-01 15:41:46
  • 好帮手慕小尤 回复 提问者 雨之赞歌 #3
    同学你好,不是只可以在attr后面加id哦!就算没有attr前缀也是可以获取到。如:name='123',在js文件中调用attr('name'),就可以获取到name值(123)。祝学习愉快!
    2019-07-01 15:53:29
好帮手慕小尤 2019-07-01 11:26:17

同学你好,$.attr()每次都从DOM元素中取属性的值,即和视图中标签内的属性值保持一致。   

  1.   $.attr('data-foo')会从标签内获得data-foo属性值;

  2. $.attr('data-foo', 'world')会将字符串'world'塞到标签的'data-foo'属性中;

$.data()是从Jquery对象中取值,由于对象属性值保存在内存中,因此可能和视图里的属性值不一致的情况。

  1. $.data('foo')会从Jquery对象内获得foo的属性值,不是从标签内获得data-foo属性值;

  2. $.data('foo', 'world')会将字符串'world'塞到Jquery对象的'foo'属性中,而不是塞到视图标签的data-foo属性中。

从性能上对比, .data() > .attr(),不同浏览器不同版本.data()和.attr()的性能关系有差异。

可以参考:https://www.uedbox.com/post/9313/ 祝学习愉快!

  • 提问者 雨之赞歌 #1
    老师我问的好像不是这个问题吧,我问的是全局属性,data-* 和 attr-id ,data-* 不是HTML 中的自定义属性吗?
    2019-07-01 11:51:35
  • 好帮手慕小尤 回复 提问者 雨之赞歌 #2
    同学你好,小慕理解错误,1. data-* 属性用于存储页面或应用程序的私有自定义数据。data-* 属性赋予我们在所有HTML元素上嵌入自定义data 属性的能力。2. 而Attr对象在HTML DOM中(文档对象模型),Attr对象表示HTML属性。HTML属性始终属于HTML元素。3. data-*属于HTML全局属性,而attr属于JavaScript中的对象。课参考:http://www.w3school.com.cn/jsref/dom_obj_attributes.asp 祝学习愉快!
    2019-07-01 13:43:58
提问者 雨之赞歌 2019-07-01 10:58:15

那这个 attr-id 是 和 data-*一样的吗,有什么区别

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

好帮手慕小尤 2019-07-01 10:07:18

同学你好,this前加$符是语法,$(this)是指向input表单($('.listorder input'))。jquery框架是基于JavaScript,attr是JavaScript中setAttribute属性,进行再次封装的属性(attr),attr是jquery中的方法但其他前端框架也是基于JavaScript的,所以其他框架中也可以封装setAttribute属性,其他框架再次封装的属性名可能也为attr,所以attr不只是jquery中才有的)。祝学习愉快!

提问者 雨之赞歌 2019-06-30 19:17:01

2. 那 this 指向的是这个 Input 表单么?为什么前面要加 $ ?


  • 提问者 雨之赞歌 #1
    还有 attr- 也是全局属性? 是 jQuery 才有的?
    2019-06-30 19:17:29
好帮手慕查理 2019-06-30 11:05:02

您好,1. blur表示当元素失去焦点时发生 blur 事件。可以参考:www.w3school.com.cn/jquery/event_blur.asp。

2.$(this)表示的是当前对象。

3.attr() 方法设置或返回被选元素的属性值。可以参考:http://www.w3school.com.cn/jquery/attributes_attr.asp。

4.val()方法返回或设置被选元素的值。可以参考:http://www.w3school.com.cn/jquery/attributes_val.asp。

5.一般设置时是id="",此处是添加了一个attr-,和data-的样式相同。

6.可以放到公共文件中。

7.是的,返回一个json格式的数据。

祝学习愉快!

提问者 雨之赞歌 2019-06-28 20:21:48

这里的result方法具体作用是什么呢? 返回一个json格式的数据吗? 

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

提问者 雨之赞歌 2019-06-28 19:48:03

还有老师这段代码为什么不直接写在JS的公共文件里呢? 这样不就不用获取了么
http://img1.sycdn.imooc.com//climg/5d15fe5800018ab312530659.jpg

提问者 雨之赞歌 2019-06-28 19:31:57

还有这里的 attr-id 是什么属性?
http://img1.sycdn.imooc.com//climg/5d15faa200017dfb10760118.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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