一、属性操作

1、固有属性

(1)获取:选中元素.prop('属性名')

console.log($('img').prop('src'));

(2)设置:选中元素.prop('属性名','值')

<body>
<img src="https://p1.music.126.net/c-LMZbZbQLcMobnFciAl7w==/109951167683507100.jpg?imageView&quality=89" alt="">
<button>修改</button>
<script>$('button').click(function(){$('img').prop('src','https://p1.music.126.net/wb1Gd2C7DknUivCqdFaKeQ==/109951167683687375.jpg?imageView&quality=89')console.log($('img').prop('src'));})
</script>
</body>

2、自定义属性attr()

(1)获取:选中元素.attr('属性名')

console.log($('img').attr('index'));

(2)设置:选中元素.attr('属性名','值')

<body>
<img src="https://p1.music.126.net/c-LMZbZbQLcMobnFciAl7w==/109951167683507100.jpg?imageView&quality=89" alt="">
<button>修改</button>
<script>$('button').click(function(){$('img').attr('index',1)console.log($('img').attr('index'));})
</script>
</body>

3、数据缓存data():该方法在指定元素上存取数据,不会改变dom元素结构。页面刷新后,之前存储就会消失

(1)获取:选中元素.data('属性名')

$('img').data('a',5)

(2)设置:选中元素.data('属性名','值')

<body>
<img src="https://p1.music.126.net/c-LMZbZbQLcMobnFciAl7w==/109951167683507100.jpg?imageView&quality=89" alt="">
<button>修改</button>
<script>$('button').click(function(){$('img').data('a',5)console.log($('img').data('a'));})
</script>
</body>

(3)区别

①data():在元素本身是看不到设置的属性(不会更改DOM结构),但是该属性是存在的,且可以获取输出

②attr():在元素本身是可以看到设置的属性,也可以获取输出

二、遍历操作

1、区别

(1)隐式迭代:给同一类元素做同样的操作

(2)遍历操作:给同一类元素做不同的事情

2、遍历元素

(1)each(fuction(index,domEle))

index:下标

domEle:Dom元素【注意:不是jq元素,用jq方法的话,需要单独封装】

<body>
<ul><li>1</li><li>2</li><li>3</li>
</ul>
<script>var colorArr = ['red','green','blue']$('li').each(function(index,dom){//一定要注意记得传参console.log(index,dom);$(dom).css('background',colorArr[index])})
</script>
</body>

(2)$.each(object,function(index,element){})

index:下标

element:循环出来数据

<body>
<ul><li>1</li><li>2</li><li>3</li>
</ul>
<script>var colorArr = ['red','green','blue']$.each(colorArr,function(index,item){console.log(index,item);})
</script>
</body>

3、创建/添加/删除元素

(1)创建:$('<标签></标签>')

var newli = $('<li>4</li>')

(2)添加

①内部:

前:选到对应位置.prepend(创建元素)

<body>
<ul><li>1</li><li>2</li><li>3</li>
</ul>
<button class="add">添加</button>
<button class="del">删除</button>
<script>$('.add').click(function(){var newli = $('<li>4</li>')$('ul').append(newli)})
</script>
</body>

后:选到对应位置.append(创建元素)

$('ul').prepend(newli)

②外部:

前:选到对应位置.before(创建元素)

$('ul').before(newli)

后:选到对应位置.after(创建元素)

$('ul').after(newli)

(3)删除

①选到对应元素:remove()删除本身

$('.del').click(function(){$(newli).remove()
})

②选到对应元素:empty()删除匹配的所有子节点

$('ul').empty()

③对应元素:html('')删除匹配的所有子节点

$('ul').html('')  //注意有单引号

4、完整的效果

<body>
<ul><li>1</li><li>2</li><li>3</li>
</ul>
<button class="add">添加</button>
<button class="del">删除</button>
<script>$('.add').click(function(){var newli$('li').each(function(index,dom){newli = $(`<li>${index+2}</li>`)//``模板字符串})$('ul').append(newli)})$('.del').click(function(){$('ul').html('')})
</script>
</body>

三、尺寸、位置操作

1、尺寸

例子

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jquery-3.6.0.js"></script><style>div{width: 100px;height: 200px;padding: 10px;border: 5px solid red;margin: 10px;}</style>
</head>
<body>
<div></div>
</body>
</html>

(1)width(),height():获取元素的宽高,只算宽高width、height

<script>console.log($('div').width());//100console.log($('div').height());//200
</script>

(2)innerWidth(),innerHeight():获取元素的宽高,width,height+padding

<script>console.log($('div').innerWidth());//120console.log($('div').innerHeight());//220
</script>

(3)outerWidth(),outerHeight():获取元素的宽高,width,height+padding+border

<script>console.log($('div').outerWidth());//130console.log($('div').outerHeight());//230
</script>

(4)outerWidth(true),outerHeight(true):获取元素的宽高,width,height+padding+border+magrin

<script>console.log($('div').outerWidth(true));//150console.log($('div').outerHeight(true));//250
</script>

2、位置

(1)offset():设置或获取元素偏移量(获取,设置元素相对于偏离文档的位置)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jquery-3.6.0.js"></script><style>*{margin: 0;padding: 0;}div{width: 100px;height: 200px;padding: 10px;border: 5px solid red;margin: 10px;}</style>
</head>
<body>
<div></div>
<script>console.log($('div').offset());$('div').offset({top:50,left:30})console.log($('div').offset());
</script>
</body>
</html>

(2)position():获取元素偏移【只能获取不能设置】

返回被选元素带有定位的父级偏移坐标,如果父级没有定位,那就是以文档为准

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jquery-3.6.0.js"></script><style>*{margin: 0;padding: 0;}.father{width: 100px;height: 200px;padding: 10px;border: 5px solid red;margin: 10px;position: relative;}.son{width: 20px;height: 20px;background-color: skyblue;position: absolute;}</style>
</head>
<body>
<div class="father"><div class="son"></div>
</div>
<script>console.log($('.son').position());$('.father').offset({top:50,left:30})console.log($('.son').position());
</script>
</body>
</html>

(3)滚动条:scrollTop()/sroclLeft()设置或获取元素被卷去的头部和左侧

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jquery-3.6.0.js"></script><style>.box{width: 300px;height: 300px;overflow: auto;}</style>
</head>
<body>
<div class="box"><img src="https://p1.music.126.net/RQImixd1s2jJwb7LWbv-iw==/109951167683330209.jpg?imageView&quality=89" alt="">
</div>
<script>$('.box').scroll(function(){console.log($('.box').scrollTop()); //返回:顶部滚动多少})
</script>
</body>
</html>

(4)带有动画的返回顶部

$(window).scroll(function(){$(document).scrollTop()
})

完整例子:具体动画效果后续补发视频给小伙伴们

JQuery的属性操作及事件相关推荐

  1. DOM操作 (创建、增、删、改、查、属性操作、事件操作)

    关于dom操作,我们主要针对于元素的操作.主要有创建.增.删.改.查.属性操作.事件操作. 1.创建 1.document.write 2.innerHTML 3.createElement 2.增加 ...

  2. jQuery的属性操作

    jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如attr().removeAttr ...

  3. jquery href属性和click事件冲突

    a标签的定义如下: <a href="javascript:void(0);">test</a> jquery中的click事件: $("a&qu ...

  4. jQuery之属性操作

    文章目录 1.jQuery属性操作 1.1 元素固有属性值 prop() 1.2 元素自定义属性值 attr() 1.3 数据缓存 data() 2. jQuery 文本属性值 3. jQuery 元 ...

  5. [jQuery基础] jQuery对象 -- 属性操作

    属性操作 属性和属性节点 1.什么是属性? 对象身上保存的变量就是属性 2.如何操作属性? 对象.属性名称 = 值 对象.属性名称 对象["属性名称"] = 值 对象[" ...

  6. JavaWeb开发 前端语言:jQuery(二)属性操作、DOM的增删改、CSS样式操作、动画、事件操作

    JavaWeb开发 前端语言:jQuery(二) 1.jQuery的属性操作 2.jQuery练习:使用jQuery完成全选.全不选.反选和提交功能 3.DOM的增删改 3.1 DOM的增操作 3.1 ...

  7. jQuery(六)元素属性操作和jQuery循环

    文章目录 jQuery元素属性操作 jQuery循环 练习-手风琴式展示图片 jQuery元素属性操作 html() //取出或设置元素内包裹的内容 var $box = $('.box');aler ...

  8. 二、属性操作,文本属性值,元素操作,尺寸、位置操作

    1.1. jQuery 属性操作 jQuery 常用属性操作有三种:prop() / attr() / data() ; 1.1.1 元素固有属性值 prop() 所谓元素固有属性就是元素本身自带的属 ...

  9. 13前端学习之WebAPI(三):节点操作、事件高级、DOM事件流、事件委托冒泡

    文章目录 一.节点操作: 1. 删除节点: 1.2. 案例:删除留言 2. 赋值(克隆)节点: 3. 案例:动态生成表格: 3.1 案例分析: 3.2 实现: 4. 创建元素的三种方式: 4.1 区别 ...

最新文章

  1. zabbix 监控mysql(实例)
  2. Qt之QHeaderView排序
  3. could not initialize proxy - no Session
  4. C++STL理论基础
  5. 2013/01/04作业raid+lvm+quota
  6. Pivotal冯雷:以数字化为核心竞争力的时代 自主可控是企业的“必然选择”
  7. html5 can,基于html5 can-vas实现漫天飞雪效果实例
  8. 1.8Linux下的软件管理
  9. 【2020软考】软件评测师考试大纲
  10. SpringCloud GateWay网关
  11. iOS开发:对于动态库共享缓存(dyld)的了解
  12. 【React入门实践】结合Ant-Design从0带你手把手开发【个人中心-信息修改】页面
  13. 银广夏事件--中国股票财务作假事件
  14. 由零开始学习小程序架构
  15. 浅谈sketch插件二
  16. 项目 --- 《水晶报表》
  17. 阿里云上各种Rpm包下载地址
  18. layui数据表格分页简单实现
  19. Robot semantic description not found.
  20. “飞”你莫属,“iFLYTEK A.I. 开发者大赛”等你来赛!

热门文章

  1. Django设置中文
  2. Django设置成中文
  3. 无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满问题处理方式
  4. 【类和对象】深入浅出类和对象
  5. 汉诺塔问题(C语言代码)
  6. 如何使用HTML和CSS进行分页?
  7. Java爬虫之JSoup使用教程
  8. 思科模拟器:让同一交换机下不同VLAN间的电脑相互通信
  9. linux ctex缺少字体,LaTeX .sty文件缺失解决办法
  10. C# 设置线程的默认CultureInfo