今天在多分享一些jquery的基本练习

分享一些小习题
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>隔行换色</title>
</head>
<body>
<table id="table" align="center" border="1px" width="70%" style="border-collapse: collapse;">
    <tr>
        <th>分类ID</th>
        <th>分类名称</th>
        <th>分类描述</th>
        <th>操作</th>
    </tr>
    <tr>
        <td>1</td>
        <td>手机数码</td>
        <td>手机数码类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
    <tr>
        <td>2</td>
        <td>鞋靴箱包</td>
        <td>鞋靴箱包类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
    <tr>
        <td>3</td>
        <td>电脑办公</td>
        <td>电脑办公类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
    <tr>
        <td>4</td>
        <td>家居饰品</td>
        <td>家居饰品类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
    //隔行换色
        //选择下标大于指定值的tr元素,在选择所有的奇数下标的元素
    $("tr:gt(0):odd").css("background","pink");
    $("tr:gt(0):even").css("background","skyblue");

</script>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全选,全不选</title>
</head>
<body>
<table class="tb" align="center" border="1px" width="50%" style="border-collapse: collapse;">
    <tr>
        <th>
            <input type="checkbox" id="all" >
            <button id="checkNot">反选</button>
        </th>
        <th>分类ID</th>
        <th>分类名称</th>
        <th>分类描述</th>
        <th>操作</th>
    </tr>
    <tr>
        <td><input type="checkbox" name="ck" /></td>
        <td>1</td>
        <td>手机数码</td>
        <td>手机数码类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox" name="ck"/></td>
        <td>2</td>
        <td>电脑办公</td>
        <td>电脑办公类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox" name="ck"/></td>
        <td>3</td>
        <td>鞋靴箱包</td>
        <td>鞋靴箱包类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox" name="ck"/></td>
        <td>4</td>
        <td>家居饰品</td>
        <td>家居饰品类商品</td>
        <td>
            <a href="#">修改</a>
            <a href="#">删除</a>
        </td>
    </tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
//全选&全不选
//通过最上面的复选框来决定下方的复选框是否选中,把上面的复选框绑定点击事件,点击时判断当前复选框状态,选中则下方全选中,否则选取消
//通过id选择器给复选框绑定点击事件
    $("#all").click(function(){
        //获取除了第一个复选框外的所有复选框元素
        var cks=$(":checkbox[name='ck']");
        //当前选中则去选中
        //得到最上面的复选框的选中状态
        var cked =$("#all").prop("checked");
        //设置下方复选框的选中状态
        cks.prop("checked",cked);
    });
    //反选
    //给反选按钮绑定点击事件
    $("#checkNot").click(function(){
        //得到下方所有的复选框
        var cks=$(":checkbox[name='ck']");
        //遍历复选框
        cks.each(function() {
            //得到遍历的复选框的状态
            var flag = $(this).prop("checked");
            //取反
            $(this).prop("checked", !flag)
        });
    });
</script>
</html>

在这里插入图片描述
JQuery的制作方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>
籍贯:
<select id="pro">
    <option value="">请选择</option>
</select>
<select id="city">
    <option value="">请选择</option>
</select>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
    //准备初始数据
    //定义省市的数据
    var proList = ["北京","山西","山东","河北","河南"];
    //定义城市的数据
    var cityList = [
        ["东城区","西城区","朝阳区","丰台区","海淀区","昌平区"],
        ["太原市","大同市","运城市","临汾市","忻州市","晋中市"],
        ["济南市","青岛市","威海市","烟台市","临沂市","德州市"],
        ["石家庄市","邢台市","保定市"],
        ["郑州市","焦作市","三门峡市"],
    ];
    //给省市下拉框填充数据
    //遍历省份数组
    for(var i=0;i<=proList.length-1;i++){
       //得到了每个省份的值
        var proDate=proList[i];
        //创建对应的option对象
        var opt ="<option value='"+proDate+"'>"+proDate+"</option>";
        //将option选项添加到省份下拉框中
        $("#pro").append(opt);
    }
    //给省份下拉框绑定change事件
    $("#pro").change(function(){
        //得到当前选中项的索引
        var index=this.selectedIndex;
        //通过索引获取二维数组中对应的城市数据
        var citys=cityList[index-1];//index-1:因为省份下拉框第一个是"请选择"
        //清空城市下拉框的选项
        $("#city option:gt(0)").remove();//除了城市下拉框中的第一个选项之外,其它全部移除
        //遍历城市数组
        for(var i=0;i<citys.length;i++){
            $("#city").append("<option>"+citys[i]+"</option>")
        }
    })
</script>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table align="center">
    <tr>
        <td>
            <select id="left" multiple="true" style="width:150px" size="10">
                <option>a</option>
                <option>b</option>
                <option>c</option>
                <option>d</option>
                <option>e</option>
                <option>f</option>
                <option>g</option>
                <option>h</option>
                <option>i</option>
                <option>j</option>
            </select>
        </td>
        <td>
            <input type="button" value=">" id="toRight1"><br>
            <input type="button" value=">>" id="toRight2"><br>
            <input type="button" value=">>>" id="toRight3"><br><br>
            <input type="button" value="<" id="toLeft1"><br>
            <input type="button" value="<<" id="toLeft2"><br>
            <input type="button" value="<<<" id="toLeft3">
        </td>
        <td>
            <select id="right" multiple="true" style="width:150px" size="10">
            </select>
        </td>
    </tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
    //将左侧选中的第一个选项移到右边
    $("#toRight1").click(function(){
        //通过后代选择器得到左侧下拉框的所有option子元素,得到选中的选选项,并得到第一个被选中的选项;将获取的元素追加到右侧的下拉框中
        //#left:    通过ID选择器得到指定对象
        //#left option: 通过后代选择器,选定指定元素的指定后代
        //:selected:得到下拉框所有被选中的内容
        //eq(0):匹配当前元素的指定下标的元素
        //appendTo:在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
        $("#left option:selected:eq(0)").appendTo($("#right"));
    });
    //将左侧选中的全部移到右边
    $("#toRight2").click(function(){
        //通过后代选择器得到左侧下拉框的所有option子元素,得到选中的选选项,;将获取的元素追加到右侧的下拉框中
        //#left :  通过ID选择器得到指定对象
        //#left option: 通过后代选择器,选定指定元素的指定后代
        //:selected:得到下拉框所有被选中的内容
        //appendTo:在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
        $("#left option:selected").appendTo($("#right"))
    });
    /* 将左侧所有下拉选项移动到右边 */
    $("#toRight3").click(function(){
        //通过后代选择器得到左侧下拉框的所有option子元素,将所有的元素追加到右侧的下拉框中
        //#left:  通过ID选择器得到指定对象
        //#left option: 通过后代选择器,选定指定元素的指定后代
        //appendTo:在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
        $("#left option").appendTo($("#right"))
    });
    //将右侧选中的第一个移到左边来
    $("#toLeft1").click(function(){
        //#right 通过ID选择器得到对象
        //#right option 通过后代选择器,选定指定元素的指定后代
        //:selected  得到被选中的元素
        //eq(0)   匹配当前元素的第一个下标元素
       // appendTo  在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
        $("#right option:selected:eq(0)").appendTo($("#left"));
    });
    //将右侧选中的全部移到左边
    $("#toLeft2").click(function(){
        //通过ID选择器得到对象
        $("#right option:selected").appendTo($("#left"));
    });
    //将右侧所有的元素全部移到左边来
    $("#toLeft3").click(function(){
        //通过ID选择器得到对象
        $("#right option").appendTo($("#left"));
    })
</script>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table id="rating" align="center">
    <tr>
        <td id="0">☆</td>
        <td id="1">☆</td>
        <td id="2">☆</td>
        <td id="3">☆</td>
        <td id="4">☆</td>
    </tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
    //得到所有的td对象
    var tds = $("#rating td")
    console.log(tds);
    //遍历td对象,给每个td对象绑定鼠标悬停事件
    tds.each(function () {
        //设置鼠标样式
        $(this).css("cursor", "pointer");
        //给td绑定鼠标悬停事件
        $(this).mouseover(function () {
            //得到当前鼠标悬停的td对象的id属性值
            var index = $(this).attr("id");
            //将鼠标悬停位置的td及其前面的td都变黑
            for (var i = 0; i <= index; i++) {
                $(tds[i]).html("★");
            }
            ;
            // 将鼠标悬停位置的td其后面的td中星星变白
            for (var i = tds.length; i > index; i--) {
                $(tds[i]).html("☆");
            }
        });
    });
</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值