一、attr用法实例
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>1.属性与自定义属性操作:attr()和removeAttr()</title> </head> <body> <img src="./images/q2.jpg" width="200" alt="食品" title="卫龙" id="pic" data-nation="中国"> </body> </html> <script type="text/javascript" src="./js/jquery-3.3.1.js"></script> <script type="text/javascript"> // 1. attr():元素属性的获取与设置 //必须传参 // var res = $('img').attr() //单参数为获取:当前属性的值 var res = $('#pic').attr('src') //双参数为获取,第一个是属性名,第二个是要设置的新值 $('#pic').attr('src', './images/q2.jpg') $('#pic').attr('style', 'border-radius: 50%;box-shadow:2px 6px 2px #888') // 由此可见,attr()是典型的集读取器与设置器二合一的方法 //attr()可以获取到元素的自定义属性 //html5中,可以通过data-前缀给标签添加用户自定义属性 var res = $('#pic').attr('data-nation') //attr()的属性值,还支持回调函数 $('#pic').attr('width', function(){return 100+100}) //注意: 回调返回的数值类型,会自动转为字符类型再赋值给width属性 var res = $('#pic').attr('width') //2. removeAttr():删除元素的属性 //删除图片的内联样式属性style // $('#pic').removeAttr('style') //可以删除多个属性,多个属性之间用空格分开,返回当前元素的状态 var res = $('#pic').removeAttr('alt title data-nation') //在控制台查看运行结果 console.log(res) </script>
运行实例 »
点击 "运行实例" 按钮查看在线实例
二、attr实例
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>5.设置内联样式css()</title> <style type="text/css"> .box1 { width: 300px; height: 300px; background-color: lightskyblue; position: relative; } .box2 { width: 100px; height: 100px; background-color: yellow; position: absolute; top: 60px; left: 100px; } </style> </head> <body> <img src="./images/q2.jpg"> <div class="box1"> <div class="box2"></div> </div> </body> </html> <script type="text/javascript" src="./js/jquery-3.3.1.js"></script> <script type="text/javascript"> //1.设置样式 css(name,value) var res = $('img').css('width',150) var res = $('img').css('border-radius', '10%') var res = $('img').css('box-shadow', '6px 6px 9px #888') var res = $('img').css({ 'width': '200', 'border-radius': '10%', 'box-shadow': '3px 12px 3px #888' }) //2.读取样式 css(name),返回的都是字符串类型 var res = $('img').css('box-shadow') var res = $('img').css('width') //因为返回的是字符串,所以对于宽高等数据,如果要计算,就必须先转为数值型 var res = parseInt($('img').css('width'), 10) //200 res += 50 var res = $('img').css('width',res+'px') //可以看出这样的操作是很麻烦的,但是宽高计算又使用的非常频繁 //所以jquery针对宽高样式有二个专用方法: width()和height() //3.width()和height()方法 //将图片宽高设置为200,单位默认为px var res = $('img').width(200) var res = $('img').width('200') var res = $('img').width('200px') var res = $('img').width('200pt') //等价于: var res = $('img').css('width',200) //设置宽高就更简单了,支持运算符的简写 var res = $('img').width('+=100') var res = $('img').width() //300 //等价于: var res = $('img').css('width','+=50') var res = $('img').width() //250 //height()高度方法,用法与width()完全一致,请大家自行测试 // 除了宽高之年,获取元素当前的位置也是经常要用到的操作,jquery也定义了快捷方法 //4.获取元素的位置:offset(),返回的是一个对象 var res = $('img').offset() //查询距离左边和顶部的偏移量 var res = $('img').offset().left var res = $('img').offset().top //可以看到这个操作反映的是元素在普通文档流的位置 //5.查看绝对定位元素的偏移量: position() var res = $('.box2').position().left var res = $('.box2').position().top </script>
运行实例 »
点击 "运行实例" 按钮查看在线实例
手写代码: