首页 前端知识 前端提高篇(八十五):jQuery的属性与特性,prop与attr

前端提高篇(八十五):jQuery的属性与特性,prop与attr

2024-05-25 09:05:24 前端知识 前端哥 819 854 我要收藏

在这里插入图片描述

5.2 设置多个属性(参数可以是对象):

//设置多个属性

$(‘div’).attr({

class: ‘test’,

myAttribute: ‘ccy’});

$(‘p’).prop({

class: ‘test’,

myAttribute: ‘ccy’});

效果:一次性设置多个属性,由于prop只操作固有属性,所以myAttribute属性没设置上

在这里插入图片描述

6. 获取未设置的属性


attr()获取未设置的属性,返回undefined;

prop()获取未设置的固有属性,返回空值(prop()获取新增属性均返回undefined,不论是否被设置)

div1

7.attr()不能动态获取标签的状态,prop()可以


input标签未设置checked时,不论该input是否被选中,用attr()获取checked属性,均是返回undefined;

input标签设置checked时,不论该input是否被选中,用attr()获取checked属性,均是返回checked;

说明attr()只认明面上标签是否写了某属性,不能动态获取属性

  • 喜欢吃的东西?
  • 以下都喜欢

  • 苹果

  • 香蕉

  • 效果:

    在这里插入图片描述

    当.title属性添加上checked时(checked为默认选中)

  • 以下都喜欢

    在这里插入图片描述

    写成<input type="checkbox" checked='123'>效果一样

    而当点击.title,该标签增加上checked属性时,prop能对此做出反应:

    • 喜欢吃的东西?
  • 以下都喜欢

  • 苹果

  • 香蕉

  • 效果:当从未选中状态变成选中状态时,返回true;从选中状态改成未选中状态时,返回false

    在这里插入图片描述

    标签被设置成默认选中状态也可以工作,功能一致:

    在这里插入图片描述

    因此,我们可以根据prop()返回的布尔值来判断这第一个选项是否被选中:如果被选中,所有的选项都要被选中;如果取消选中,所有的选项取消选中

    $(‘.title input’).change(function(){

    // console.log($(‘.title input’).prop(‘checked’));

    if ( $(‘.title input’).prop(‘checked’) ){

    $(‘ul input’).prop(‘checked’, true);//.title下的input被选中时,所有input都被选中

    }else {

    $(‘ul input’).prop(‘checked’, false);//.title下的input取消选中时,所有input都没被选中

    }

    })

    效果:

    在这里插入图片描述

    8.移除属性removeAttr()、removeProp()


    8.1 removeAttr():

    给ul加一个class

    在这里插入图片描述

    然后移除掉这个属性:

    $(‘ul’).removeAttr(‘class’);

    效果:

    在这里插入图片描述

    增加一个新增属性:

    $(‘ul’).attr(‘aaa’,‘aaa’);

    在这里插入图片描述

    然后移除:

    $(‘ul’).removeAttr(‘aaa’);

    在这里插入图片描述

    8.2 removeProp()只能移除由prop()设置的新增属性

    prop()设置新增属性,虽然没有在标签中显示出来,没有对应上,但是设置还是设置了的,可以取这个属性值

    $(‘ul’).prop(‘aaa’, ‘aaa’);

    效果:并没有显示出来

    在这里插入图片描述

    当我取这个属性时:

    console.log( $(‘ul’).prop(‘aaa’) );//输出为aaa

    在这里插入图片描述

    可见,设置是成功的,但是不显示

    当我用removeProp()移除prop新增属性时:

    $(‘ul’).removeProp(‘aaa’);

    console.log( $(‘ul’).prop(‘aaa’) );//返回undefined

    当我新增固有属性并移除时:
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

    深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

    因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

    img

    既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

    由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

    如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

    最后

    前端校招精编面试解析大全点击这里即可获取完整版pdf查看

    [外链图片转存中…(img-rnm1tgbX-1711684071159)]

    既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

    [外链图片转存中…(img-7oGweXz3-1711684071159)]

    由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

    如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

    最后

    前端校招精编面试解析大全点击这里即可获取完整版pdf查看

转载请注明出处或者链接地址:https://www.qianduange.cn//article/9443.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!