Correction status:qualified
Teacher's comments:
以下代码主要是练习attr()和css()的使用方法,通过attr()和css()获取元素对应的各种属性,并延伸出了一些快捷的获取方法,通过width()height()来获取宽和高的数据,通过offset()position()来获取元素的位置的数据,与大家分享一下
attr()的使用代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>attr()的使用</title> </head> <body> <img src="1.jpg" width="300" id="pic" alt="我是图" title="Fate" data-person="hero"> </body> <script type="text/javascript" src="../js/jquery-3.3.1.js"></script> <script type="text/javascript"> // attr()可以获取当前元素的属性,获取到图片的src属性是1.jpg var test = $('img').attr('src') // attr()可以将当前元素的属性进行替换,将src属性替换为2.jpg var test = $('img').attr('src','2.jpg') // attr()可以将当前元素的多个属性进行替换,将style默认属性替换为后面的指定属性 var test = $('img').attr('style','border-radius:50%;box-shadow:3px 3px 3px #999') // attr()可以获取自定义属性 var test = $('img').attr('data-person') // attr()的属性支持回调函数 $('img').attr('width',function(){return 150}) var test = $('img').attr('width') // 删除图片属性 var test = $('img').removeAttr('style') // 删除图片多个属性 var test = $('img').removeAttr('alt title data-person') var test = $('img').attr('alt') var test = $('img').attr('title') var test = $('img').attr('data-person') console.log(test) </script> </html>
点击 "运行实例" 按钮查看在线实例
css()的使用代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css()的使用</title> <style type="text/css"> .box1{ width: 300px; height: 300px; background-color: skyblue; position: relative; } .box2{ width: 100px; height: 100px; background: orange; position: absolute; top: 80px; left: 50px; } </style> </head> <body> <img src="1.jpg"> <div class="box1"> <div class="box2"></div> </div> </body> <script type="text/javascript" src="../js/jquery-3.3.1.js"></script> <script type="text/javascript"> // 使用css()设置单个样式 var test = $('img').css('width',400) // 使用css()设置多个样式 var test = $('img').css({ 'border-radius':'30%', 'box-shadow':'5px 5px 5px #999', 'width':300 }) // 使用css()读取样式 var test = $('img').css('box-shadow') // 使用css()读取宽度返回的是字符串,而不是数字 var test = $('img').css('width') // 若要增加宽度,需转换之后再加,而不能直接加 var test = parseInt($('img').css('width'),10) //300 test += 100 var test = $('img').css('width',test+'px') var test = $('img').css('width')//400px //针对宽高的专有方法:width(),height() var test = $('img').width(200) var test = $('img').height(300) var test = $('img').width('+=100') //300 var test = $('img').width() var test = $('img').height('+=100') //400 var test = $('img').height() //使用offset()可获取当前元素的位置 var test = $('img').offset() var test = $('img').offset().top var test = $('img').offset().left //使用position()可获取当前元素的位置 var test = $('.box2').position() var test = $('.box2').position().top var test = $('.box2').position().left console.log(test) </script> </html>
点击 "运行实例" 按钮查看在线实例
手写代码:
总结:
在JS中,可以通过attr()获取以及设置元素的基本属性,自定义属性,并可以对这样属性进行操作替换等,而且还支持回调函数
在JS中,可以通过css()获取以及设置元素的内联样式,对这些样式进行重新设置以及替换。
为了方便使用,延伸出了通过width()height()快捷获取元素宽高的方法,通过offset()和position()获取元素位置的方法。