jquery选择器

jquery选择器

表单对象属性过滤

  • :checked

    多选框选中的(input)

  • :selected

    下拉框选中的(selected)

  • :enabled

    可用的

  • :disabled

    不可用的

//<button id="btn1">对表单内 可用input 赋值操作.</button>
$("#btn1").click(function() {
    // $(":not([disabled])").css("background-color", "red");
    $("input:enabled").css("background-color", "red");
});

//<button id="btn2">对表单内 不可用input 赋值操作.</button>
$("#btn2").click(function() {
    $("input:disabled").css("background-color", "red");
})

//<button id="btn3">获取多选框选中的个数.</button>
$("#btn3").click(function () {
    console.log($("input:checked").length);
})

//<button id="btn4">获取下拉框选中的个数.</button>
$("#btn4").click(function() {
    console.log($("option:selected").length);
})

可见性过滤

  • :visible

    显示的

  • :hidden

    隐藏的

// <input type="button" value=" 选取所有可见的div元素" id="b1"/>
$("#b1").click(function() {
    // 将jquery对象,转换成js对象
    let visibleElement = $("div:visible");
    for (let element of visibleElement) {
        console.log(element);
    }
});

// <input type="button" value=" 选取所有不可见的div元素, 利用 jQuery 中的 show() 方法将它们显示出来" id="b2"/>
$("#b2").click(function() {
    let hiddenElement = $("div:hidden");
    hiddenElement.show();
    // for (let element of hiddenElement) {
    //     console.log(element);
    // }
})

内容过滤选择器

  • :has(sel)
$("#btn1").click(function() {
    $("div:has(.mini)").css("background-color", "red");
});

表单元素选择器

  • :input
  • :text
$("#btn1").click(function() {
    let inputs = $(":input");
    for (let input of inputs) {
        console.log(input);
    }
})

$("#btn2").click(function() {
    let texts = $(":text");
    for (let text of texts) {
        console.log(text);
    }
})

dom操作

  • val()

    获取或设置value属性

  • text()

    获取或设置innerText

  • html()

    获取或设置innerHTML

  • prop()

    获取或设置标签属性

  • attr()

    获取或设置标签属性

  • addClass()

    添加class

  • removeClass()

    删除class

            // <button id="btn1">获取input的value值</button>
            $("#btn1").click(function() {
                console.log($("#myinput").val());
            })

            // <button id="btn2">设置input的value值</button>
            $("#btn2").click(function() {
                $("#myinput").val("lisi");
            })

            // <button id="btn3">给p标签,设置innerText</button>
            $("#btn3").click(function() {
                $("p").text("<font color='red'>早起能解决99%的问题</font>")
            })

            // <button id="btn4">获取p标签的innerText</button>
            $("#btn4").click(function() {
                console.log($("p").text());
            })

            // <button id="btn5">给p标签,设置innerHTML</button>
            $("#btn5").click(function() {
                $("p").html("<font color='red'>早起能解决99%的问题</font>");
            })

            // <button id="btn6">获取p标签的innerHTML</button><br/>
            $("#btn6").click(function() {
                console.log($("p").html());
            })
            //1给username添加title属性
            $("#btn1").click(function() {
                // $("[name=username]").attr()
                $("[name=username]").prop("title", "title........");
            });

            //2获取username的title属性
            $("#btn2").click(function() {
                console.log($("[name=username]").prop("title"));
            });

            //3给username添加value和class属性
            $("#btn3").click(function() {
                $("[name=username]").val("lisi");
                $("[name=username]").prop("class", "textClass");
            });

            //4删除username的class属性
            $("#btn4").click(function() {
                $("[name=username]").prop("class", "");
            });

            //5给username添加一个名为textClass的样式
            $("#btn5").click(function() {
                $("[name=username]").addClass("textClass");
            });

            //6删除username的名为textClass的样式
            $("#btn6").click(function() {
                $("[name=username]").removeClass("textClass");
            });

css样式操作

  • css()
//1 给div添加边框样式
$("#btn1").click(function() {
    $("div").css("border", "1px solid red");
})

//2 获取div的边框样式
$("#btn2").click(function() {
    console.log($("div").css("border"));
})

//3 给div添加多种样式
$("#btn3").click(function() {
    // $("div").css("background-color", "blue"
    // $("div").css("width", "100px");
    $("div").css({
        "background-color": "blue",
        "width": "100px"
    });
})

//4 获取div的高和宽
$("#btn4").click(function() {
    console.log($("div").css("height"));
    console.log($("div").css("width"));
})

元素的创建与插入

  • append()
  • prepend()
  • after()
  • before()
  • appendTo()
  • prependTo()
  • insertAfter()
  • insertBefore()
$("#b1").click(function() {
    // 内部追加
    // $("#div2").append("<span>new span</span>");
    $("<span>new span</span>").appendTo($("#div2"));
});

$("#b2").click(function() {
    // 内部前面
    // $("#div2").prepend("<span>new span</span>");
    $("<span>new span</span>").prependTo($("#div2"));
});

$("#b3").click(function() {
    // 外部后面
    // $("#div2").after("<div></div>");
    $("<div></div>").insertAfter($("#div2"));
});

$("#b4").click(function() {
    // 外部前面
    // $("#div2").before("<div></div>");
    $("<div></div>").insertBefore($("#div2"));
});

元素删除与置空

  • empty()

    置空,除了自己之外,标签体的所有内容,全部删除
    与text("")等价

  • remove()

    删除元素

效果

  • hide()

    隐藏元素

  • show()

    显示元素

  • toggle()

    切换显示/隐藏

  • slideUp()

    滑出

  • slideDown()

    滑入

  • slideToggle()

    滑入/滑出切换

  • fadeOut()

    淡出

  • fadeIn()

    淡入

  • fadeToggle()

    淡出/淡入切换

$("#b1").click(function() {
    $("#b1Div").hide();
})

$("#b2").click(function() {
    $("#b1Div").show();
})

$("#b3").click(function() {
    $("#b1Div").toggle();
})

$("#b4").click(function() {
    $("#b2Div").slideUp(15000);
})

$("#b5").click(function() {
    $("#b2Div").slideDown(15000);
})

$("#b6").click(function() {
    $("#b2Div").slideToggle(15000);
})

$("#b7").click(function() {
    $("#b3Div").fadeOut(5000);
})

$("#b8").click(function() {
    $("#b3Div").fadeIn(5000);
})

$("#b9").click(function() {
    $("#b3Div").fadeToggle(5000);
})

jquery深入

遍历

  • for-of
  • arr.forEach(function(element, index) {...})
  • $(arr).each(function(index, element) {...})
  • $.each(arr, function(index, element) {...})
$("#b1").click(function() {
    $(":input:hidden").each(function(index, element) {
        // 注意: element为js对象,并不是jquery对象
        console.log(element.value);
    })

    // let hiddens = $(":input:hidden");
    // for (let hidden of hiddens) {
    //     console.log(hidden.value);
    // }
});

$("#b2").click(function() {
    $.each($(":input:hidden"), function(index, element) {
        console.log(element.value);
    });
});

$("#b3").click(function() {
    let arr = ["zero", "one", "two", "three"];
    $(arr).each(function(index, element) {
        console.log(element);
    })
    // $.each(arr, function(index, element) {
    //     console.log(element);
    // })
});

jquery-validate插件

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="../js/jquery-3.6.0.min.js"></script>
    <script src="../js/jquery.validate.js"></script>
    <script>
        $(function() {
            $("#formId").validate({
                rules: {
                    username: "required",
                    password: {
                        required: true,
                        number: true
                    },
                    repassword: {
                        required: true,
                        equalTo: "[name=password]"
                    },
                    zuixiaozhi: {
                        min: 15
                    },
                    shuzhiqujian: {
                        // min: 10,
                        // max: 20
                        range: [15, 20]
                    },
                    gender: "required"
                },
                messages: {
                    username: "用户名必填",
                    password: {
                        required: "密码必填",
                        number: "必须是一个合法的数字"
                    },
                    repassword: "重复必填,并且与密码一致",
                    zuixiaozhi: "最小值为{0}",
                    shuzhiqujian: "数值必须在{0}和{1}之间",
                    gender: "性别必填"
                }
            })
        });
    </script>
</head>

<body>
<form id="formId" action="">
    必填:<input type="text" name="username"/> <br/>
    必填数字:<input type="text" name="password"/> <br/>
    必填重复:<input type="text" name="repassword"/> <br/>
    最小值:<input type="text" name="zuixiaozhi"/> <br/>
    区间:<input type="text" name="shuzhiqujian"/> <br/>
    性别:<input type="radio" name="gender"/><input type="radio" name="gender"/><label id="gender-error" class="error" for="gender"></label>
    <br/>
    <input type="submit" value="提交"/>
</form>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值