前端学习笔记

jQuery中attr()和prop()的使用和区别

一、attr()使用

$(selector).attr():获取匹配元素集合中第一个元素的属性值或者设置该匹配元素的属性值

3种使用方法如下:
方法1:设置单个:$(selector).attr(attribute, value)
$(e).attr('key1','value1');
console.log($(e).attr('key1'));
方法2:设置多个:$(selector).attr({attribute:value, attribute:value ...})
$(e).attr({'key1':'value1','key2':'value2','key3':'value3'});
console.log($(e).attr('key2'));
方法3:通过函数设置单个,value为旧值,该函数可接收并使用选择器的index值和当前属性值: $(selector).attr(attribute, function(index,oldvalue))
$(e).attr('key2', function(index, value){
            return value + '222';
        });
console.log($(e).attr('key2'));

二、prop()使用

prop()的使用和arri()用法一样,同上。不同的是attr()传入的是attributeName,prop()传入的是propertyName,即参数名不同。

三、二者区别

prop可以用来获取元素的JS属性,如scrollHeight,offsetHeight等;attr可以用来获取或者生成“直接写在Html标签里的属性”。

实际使用中:我们要操作的是标签元素固有的一些属性时,推荐使用prop,固有属性指的是标签本身就有的一些属性;而操作一些自定义的属性时,推荐用attr。

scrollHeight是js里用来获取元素的完整高度,它是js属性,并不是jQuery属性,如果要在jQuery中使用这个属性的话,需要把jQuery对象转化成js对象,这样才能使用js的属性;而另一种方法是使用jQuery里的prop函数,直接用$(selector).prop('scrollHeight')来获取,但如果换成attr就获取不到了
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,175评论 0 3
  • 一:认识jquery jquery是javascript的类库,具有轻量级,完善的文档,丰富的插件支持,完善的Aj...
    xuguibin阅读 5,641评论 1 7
  • 1,如何理解 HTML CSS 语义化? 在平时写代码的过程中要注意哪些细节 -html css语义化就是为了让代...
    春木橙云阅读 3,321评论 0 1
  • 奥斯卡最佳电影出了最大的一场乌龙,原本属于《月光男孩》的最佳影片误颁给了《爱乐之城》。 《爱乐之城》在这之前我已经...
    呆毛文阅读 1,873评论 0 0
  • 听别人的故事 想自己的人生 编剧在编 而你在看 你在情爱的的小说里 在唯美的影剧里 无限次谈着爱情 却从不勇敢诉说...
    静默是余生阅读 2,144评论 0 1

友情链接更多精彩内容