博客列表 >jquery中css和attr的用法——2018年4月4日

jquery中css和attr的用法——2018年4月4日

jackallen的博客
jackallen的博客原创
2018年04月08日 16:40:41741浏览

一、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>

运行实例 »

点击 "运行实例" 按钮查看在线实例

QX4_1Q7[4X){F@VLTP)8K5E.png

二、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>

运行实例 »

点击 "运行实例" 按钮查看在线实例

$EG0_M%6CV~PHOJ8364`7{P.png

手写代码:

微信图片_20180408163854.jpg

微信图片_20180408163841.jpg

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议