前端-jQuery-操作标签-属性操作

##############

jQuery-操作标签

#####

jQuery样式操作-操作class类-点击登录

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>自定义模态框示例</title>
    <style>
        .cover {
            position: absolute;
            /*这是铺满屏幕*/
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-color: rgba(0,0,0,0.4);
            z-index: 998;
        }

        .modal {
            height: 400px;
            width: 600px;
            background-color: white;
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -300px;
            margin-top: -200px;
            z-index: 1000;
        }
        .hide {
            display: none;
        }
    </style>
</head>
<body>
<button id="b1">屠龙宝刀,点击就送!</button>
<div class="cover hide"></div>
<div class="modal hide">
    <form>
        <p>
            <label>用户名:
                <input type="text">
            </label>
        </p>
        <p>
            <label>密码:
                <input type="password">
            </label>
        </p>
        <p>
            <input type="submit" value="登录">
            <input id="cancel" type="button" value="取消">
        </p>
    </form>
</div>
<script src="jquery-3.2.1.min.js"></script>
<script>
    // 找到点击弹出模态框的按钮
    $("#b1").click(function () {
        // 把.cover和.modal显示出来(去除掉.hide)
        $(".cover").removeClass("hide");  // 显示背景
        $(".modal").removeClass("hide"); // 显示模态框
    });

    // 找到取消按钮,绑定事件
    $("#cancel").click(function () {
        // 给背景和模态框都加上hide类
        $(".cover").addClass("hide");
        $(".modal").addClass("hide");
    })
</script>
</body>
</html>

 

 jQuery修改css样式

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>修改CSS样式</title>
</head>
<body>

<p>乔小强</p>
<p>二哥</p>
<script src="jquery-3.2.1.min.js"></script>
<script>
    $("p").click(function () {
        // 把当前点击的标签变绿
        // 在处理事件的函数中用 this 表示 当前触发事件的标签
//        $(this).css("color", "red");
//        $(this).css("font-size", "24px");

        $(this).css({"color": "pink", "font-size": "48px"});//这个写法就是直接修改的标签的style属性,里面就是css样式,  
        //使用原生dom怎么写的?
        // 是找到元素.style.color="green"
    })
</script>
</body>
</html>

 ###

原生js操作ss

 

 

jQuery操作css

 

 

 ####

jQuery位置相关方法

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>位置相关方法</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .c1,
        .c2,
        .c3 {
            height: 100px;
            width: 100px;
            background-color: red;
        }

        .c2 {
            position: relative;
            left: 200px;
            top: 200px;
            background-color: green;
        }

        .c3 {
            position: absolute;
            left: 100px;
            top: 100px;
            background-color: blue;
        }
    </style>
</head>
<body>

<div class="c1">我是div</div>
<div class="c2">
    <div class="c3">我是c3</div>
</div>

<script src="jquery-3.2.1.min.js"></script>

<script>

    $(".c1").offset(); //返回一个字典:{top: 0, left: 0},获取位置
    $(".c1").offset({top:100,left:100});//这是直接通过参数设置位置
    $(".c3").position(); //获取匹配元素相对父元素的偏移,没有父标签就是和offset一样的结果,从body算父标签

</script>
</body>
</html>

 

###############    jQuery位置相关方法-返回顶部实例     ################

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>位置相关示例之返回顶部</title>
    <style>
        * {
            margin: 0;
        }

        .c1 {
            width: 100px;
            height: 200px;
            background-color: red;
        }

        .c2 {
            height: 50px;
            width: 50px;

            position: fixed;
            bottom: 15px;
            right: 15px;
            background-color: #2b669a;
        }

        .hide {
            display: none;
        }

        .c3 {
            height: 100px;
        }
    </style>
</head>
<body>
<button id="b1" class="btn btn-default">点我</button>
<div class="c1"></div>
<div class="c3">1</div>
<div class="c3">2</div>
<div class="c3">3</div>
<div class="c3">4</div>
<div class="c3">5</div>
<div class="c3">6</div>
<div class="c3">7</div>
<div class="c3">8</div>
<div class="c3">9</div>
<div class="c3">10</div>
<div class="c3">11</div>


<button id="b2" class="btn btn-default c2 hide">返回顶部</button>
<script src="jquery-3.2.1.min.js"></script>
<script>
    $(window).scroll(function () {//scroll这个是滚动事件
        if ($(window).scrollTop() > 100) {//通过控制这个按钮的hide 属性来判断是否要展示,
            $("#b2").removeClass("hide");
        } else {
            $("#b2").addClass("hide");
        }
    });
    $("#b2").click(function () {
        $(window).scrollTop(0);//设置距离顶部的距离是0,那么就是回到顶部了
    })
</script>
</body>
</html>

 

#####

jQuery尺寸操作

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>尺寸示例</title>
    <style>
        .c1 {
            height: 100px;
            width: 200px;
            padding: 10px;
            margin: 20px;
            background-color: red;
            border: 5px solid green;
        }
    </style>
</head>
<body>

<div>
    <div class="c1">div</div>
</div>
<script src="jquery-3.2.1.min.js"></script>

<script>
    $(".c1").height(); //这是文本的高度
    $(".c1").width();//这是文本的宽度
    $(".c1").innerHeight(); //这是文本和padding的高度
    $(".c1").innerWidth();//这是文本和padding的宽度
    $(".c1").outerHeight();//这是文本和padding,还有border的高度
    $(".c1").outerWidth();//这是文本和padding,还有border的宽度

</script>

</body>
</html>

 

jQuery的文档操作

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>文档操作</title>
    <style>
        .error {
            color: red;
        }
    </style>
</head>
<body>

<div id="d1">
    <p><span>span</span></p>
    <div>div</div>
</div>


<form id="f1">
    <p>
        <label>用户名:
            <input class="need" name="username" type="text">
            <span class="error"></span>
        </label>
    </p>
    <p>
        <label>密码:
            <input class="need" name="password" type="password">
            <span class="error"></span>
        </label>
    </p>

    <p>爱好:
        <label>篮球
            <input name="hobby" value="basketball" type="checkbox">
        </label>
        <label>足球
            <input name="hobby" value="football" type="checkbox">
        </label>
        <label>双色球
            <input name="hobby" value="doublecolorball" type="checkbox">
        </label>
    </p>

    <p>性别:
        <label>男
            <input name="gender" value="1" type="radio">
        </label>
        <label>女
            <input name="gender" value="0" type="radio">
        </label>
        <label>保密
            <input name="gender" value="2" type="radio">
        </label>
    </p>

    <p>
        <label for="s1">从哪儿来:</label>
        <select name="from" id="s1">
            <option value="010">北京</option>
            <option value="021">上海</option>
            <option value="020">广州</option>
        </select>
    </p>
    <p>
        <label for="s2">从哪儿来:</label>
        <select name="from" id="s2" multiple>
            <option value="010">北京</option>
            <option value="021">上海</option>
            <option value="020">广州</option>
            <option value="0755">深圳</option>
        </select>
    </p>
    <p>
        <label for="t1">个人简介:</label>
        <textarea name="memo" id="t1" cols="30" rows="10">

        </textarea>
    </p>
    <p>
        <input id="b1" type="submit" value="登录">
        <input id="cancel" type="button" value="取消">
    </p>
</form>
<script src="jquery-3.2.1.min.js"></script>

<script>


    // 对html和text文本操作
    $("#d1");//获取id是d1的标签,这是一个jQuery对象
    $("#d1")[0];//这是把jQuery对象里面的内容取出,这就是一个dom对象了
    $("#d1")[0].innerHTML;//这是获取这个标签下面所有的html内容
    $("#d1")[0].innerText;//这是获取这个标签下面所有的html内容
    // ####################
    //上面是dom操作
    //使用jQuery操作
    $("#d1").html();
    $("#d1").text();
    $("#d1").html("hehe");//这是设置html的值,但是这种设置之后,里面的子标签也会被替换
    $("#d1").html("<p>123</p>>");//这是设置一个p标签,但是这种设置之后,里面的子标签也会被替换
    $("#d1").text("hehe");//这是设置text的值,但是这种设置之后,里面的子标签也会被替换


    //############################
    // 对值操作:
    $(":text").val();// 取得第一个匹配元素的当前值
    $(":text").val("andy");// 设置所有匹配元素的值

    //对多选框取值
    $(":checkbox");//这是多选框中所有的值
    $(":checkbox").val();//这是取多选框的值,但是只会返回第一个
    $(":checkbox:checked");//这是取多选框中选中的值
    $(":checkbox:checked").val();//这是取多选框被选中的值,但是只会返回第一个
    //所以上面的两种取值方式都是有问题的,不能这么取
    $("input").val();//这个取值也是默认只是去第一个input框的值,
    $("input").val("1212")//但是设置值就是把所有的input框全都设置成这个了,
    //这个取值和设置值的区别要记住,
    //所以要循环读取才可以
    var $checkbox = $(":checkbox:checked");
    for (var i =0;i<$checkbox.length;i++){
        console.log($checkbox[i]);
        console.log($($checkbox[i]).val())
    }
    // 设置值
    $(":checkbox:checked").val("basketball");

    // 对单选框取值
    $(":radio").val();

    //对下拉框的单选和多选取值
    $("#s1").val();
    $("#s2").val();
   // 设置值
    $("#s2").val(["021","0755"]);

   //对文本框操作
    $("#t1").val()


</script>

<script>
    // 需求:点击登录按钮验证用户名和密码为不为空
    //       为空就在对应的input标签下面显示一个错误提示信息

    // 1. 给登录按钮绑定点击事件
    // 2. 点击事件要做的事儿
    // 2.1 找到input标签--> 取值 --> 判断为不为空 --> .length为不为0
    // 2.2 如果不为空,则什么都不做
    // 2.2 如果为空,要做几件事儿
    // 2.2.1 在当前这个input标签的下面 添加一个新的标签,内容为xx不能为空

    $("#b1").click(function () {
        var $needEles = $(".need");//找到所有必填的input标签
        for (var i = 0; i < $needEles.length; i++) {
            if ($($needEles[i]).val().trim().length === 0) {
                var labelName = $($needEles[i]).parent().text().trim().slice(0, -1);//父标签就是label标签,文本就是用户名密码,进行切片是把后面的冒号去掉
                $($needEles[i]).next().text(labelName + "不能为空!");//next已经定位到了下面的span标签,text是对这个span标签进行设置文本
            }
        }
        //现在点击登录相当于两个事件,一个是我们自己绑定的,一个是默认的点击会自动提交的事件,
        //设置这个False就是说执行完我的这个事件之后,下面的就不执行了,这样我们可以看到效果
        return false;
    })

</script>
</body>
</html>

 

jQuery属性操作 

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>属性操作</title>
</head>
<body>

<img src="http://image11.m1905.cn/uploadfile/s2010/0205/20100205083613178.jpg" alt="">
<input type="button" id="b1" value="下一个">


<input checked type="checkbox" id="c1">
<input type="checkbox" id="c2">

<script src="jquery-3.2.1.min.js"></script>

<script>
    //属性设置
    $("img").attr({"title":"213123"})
    //属性删除
    $("img").removeAttr("title")

    //判断一个radio,和CheckBox  有没有被选中
    $("#c1").prop("checked")//返回一个布尔类型,
    $("#c1").prop("checked",false)//设置值,取消选中

</script>

<script>
    var oldURL;
    var newURL = "http://img01.yohoboys.com/contentimg/2017/08/12/21/012a1eab9842a752f8c4d98b8fc2777ad7.jpg"
    $("#b1").click(function () {
        var $imgEles = $("img");
        // 修改img标签的src属性
        oldURL = $imgEles.attr("src");
        $imgEles.attr("src", newURL);
        newURL = oldURL;
    });

</script>
</body>
</html>

 

jQuery全选-取消-反选功能分析

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>作业需求分析</title>
</head>
<body>

<table border="1">
    <thead>
    <tr>
        <th>#</th>
        <th>姓名</th>
        <th>职位</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox"></td>
        <td>小东北</td>
        <td>二人转演员</td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>乔小强</td>
        <td>xx演员</td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>韩涉</td>
        <td>导演</td>
    </tr>
    </tbody>
</table>

<input type="button" id="b1" value="全选">
<input type="button" id="b2" value="反选">
<input type="button" id="b3" value="取消">

<script src="jquery-3.2.1.min.js"></script>
<script>
    // 点击全选,表格中所有的checkbox都选中
    // 1. 找checkbox
    // 2. 全部选中  --> prop("checked", true);

    // 点击取消
    // 1. 找checkbox
    // 2. 全部取消选中  --> prop("checked", false);


    // 反选
    // 1. 找到所有的checkbox
    // 2. 判断
    // 2.1 原来没选中的,要选中
    // 2.2 原来选中的,要取消选中
</script>
</body>
</html>

 

 ###

 

 

 

 

######################

posted @ 2020-11-16 19:49  技术改变命运Andy  阅读(158)  评论(0编辑  收藏  举报