【jquery选择器详解】Jquery选择器及jquery获取对象属性和方法汇总(最全详解)

写在前面】其实在开发的过程中jquery是目前我用的最多的,也用的比较的顺手,今天我就针对jquery选择器来进行一次扫盲,可能还有很多你不知道的jquery选择器,下面我就针对我再使用jquery的过程中遇到的所有选择器给大家做一个详解。
涉及知识点:jquery选择器,jquery获取div元素,jquery操作div元素,jquery触发事件,jquery修改元素样式,jquery修改元素位置

1.jquery选择器有哪些?

标签元素选择器

$("div")  //元素选择器
$("#id")  //id选择器
$(".class")  //类选择器
$("[name=1]")  //属性值选择器,前面可添加其他选择器
	$("div[name*=1]").css({
    
    "width":"50px"})
$("#div1,.class1,#id3")  //并列选择器
$("div input")  //包含选择器
	$("#bd input").val("#bd input");

条件元素选择器

$("div>input")  //父子选择器
	$("div>.class2").val("xxx")
$("div+div")  //兄弟选择器
$(".class1:hidden")  //所有不可见的元素选择器
	$("div>.class2:hidden").val("xxx")
$(".class1:visible") //所有可见的元素选择器
	$("#bd input:visible").val("#bd input");
$(".class1:empty") //所有不包含内容的元素选择器,类似的还有:last,:first,:not
$(".class1:enabled") //所有未指定disabled="disabled"的表单组件
	$(".i1:enabled").val("未指定disabled的元素")
$(".class1:disabled") //所有指定disabled="disabled"的表单组件
$(".class1:checked") //所有指定checked="checked"的表单组件
$(":focus") //获取焦点的对象
$(".class1:selected") //所有指定selected="selected"的表单组件
$(".class1:nth-child(3n+2)") //所有class="class1"的第2,5,7,11…的元素选择器
$(DOM)  //JS的DOM对象
$(document.getElementById("bd")).append(
    $("<input/>",{
    
     //新增input,使用JSON结构添加属性
        type:"button"
        ,val:"xxx"
        ,click:function () {
    
    
            alert("点击了button")
        }
    })

2.Jquery选择器对象应用

2.1jquery修改(设置)对象属性

要点:

$("div").attr({
    
    json})

举例:

$("<input/>")
        .attr({
    
    type:"password"}) //设置属性
        .css({
    
    "width":"200px","height":"200px"}) //设置样式

2.2Jquery移除属性

要点:

$("a").removeAttr("href")

举例:

$("div").removeAttr("class").removeAttr("id") //将id名和类名都移除

2.3Jquery标签遍历

要点:

$("div").each(function(index,elem){
    
     执行体 }) //匹配元素执行function内容体

举例:

$("#bd input").each(function (i,ele){
    
    //i是$("#bd input")返回的数组中的index
    $(this).val(i+"----");          // $(this)jQuery对象
this.innerHTML(i+"----");      // this DOM对象
});

引伸知识点:

$("div").map(function(index,elem){
    
     执行体 })

其中map和这个each类似,map和.each(fun) 区别在于.map(fun)会生成新的数组newArray,. each(fun)不会。

2.4Jquery获取DOM数组对象、下标

主要作用是返回DOM对象数组,可以指定下标或者满足属性的子元素
要点:

$("div").get()
$("div").toArray()
$("div")[0]
$("div").eq(0)  //第index+1个JQuery对象

它们4者的关系是

$("div").get(0)==$("div").toArray(0)[0] == $("div")[0] ==$("div").eq(0)[0]

在这里插入图片描述

举例:

$("#bd>input.i1").toArray(); //返回DOM对象数组
$("#bd>input.i1").get(1); //返回DOM对象

2.5jquery过滤对象

要点:

$("div").filter(".div:visible")//过滤获取满足css选择器的jQuery对象

举例:

$("input").filter(function (index) {
    
     //获取返回值为true的jQuery对象
    	if ($(this).val() > 5) //this 为DOM对象,$(this)为jQuery对象
     	   return true;
    	 else
     	   return false;
}).val(">5");

2.6Jquery常见事件

监听事件on

要点:

$("div").on("myevent",fun{
    
    })

举例:

$("div").on("click",function{
    
    alert("你触发了点击事件")})

派发(触发)事件trigger

要点:

$("div").trigger(event) 

举例:

$("button").click(function(){
    
    
  $("input").trigger("select");
});

trigger() 方法触发被选元素的指定事件类型

3.Jquery在CSS常用方法汇总

3.1 元素属性相关

$("div").attr("href","修改值")  //修改href属性值,区别于.css({xx:xx})
$("div").removeAttr("href")  //删除href的属性值
$("div").html("abc");   //设置、获取innerHTML属性
$("xxx").is("div");  //判断'xxx'是否是div元素
$("div").text("ab")     //设置、获取text文本属性
$("div").val("123");    //设置、获取值

3.2 元素位置相关

$("div").height(val)/width(val);  //设置或获取内容的高度、宽度
$("div").position()    //返回相对于父节点的{left:xx,top:xx}
$("div").offset()      //返回绝对位置{left:xx,top:xx} 
$("div").scrollTop(val)/scrollLeft()  //设置或获取滚动条的位置

3.3 样式相关

$("div").css(json);   //修改样式,区别于.attr({xx:xx})
	$("div").css({
    
    "width":"100px","background":"#ff00ff"});
$("div").addClass("CSS样式名");  //可以理解为XXX添加Class名
$("div").addClass("mydiv"); //为div添加一个叫’mydiv’的样式名
$("div").toggleClass("CSS样式名"); //在2个Class名之间切换
$("div").addClass("mydiv");
$("div").on("click",function(){
    
    
$(this). toggleClass ("mydiv2");
});
$("div").removeClass("CSS样式名"); //	移除xxx的css样式名
$("div").hasClass("CSS样式名") //是否存在xxx的css样式名

3.4 尺寸相关

$("div").innerHeight(val); //内容的高度+padding * 2 
$("div").appendTo(jQobj)   //添加元素到
$("subdiv").remove()  //删除subdiv元素
$("div").empty()
$("div").outHeight(boolean); 
// 如果boolean为true:内容的高度+padding * 2 + margin *2 + border * 2
// 如果boolean为false:内容的高度+padding * 2 + border * 2

4.皇榜彩蛋

倾心打造佳作,愿解君之惑,如若有幸,盼君上榜助阵,特此敬谢!
皇榜入口点击此处

猜你喜欢

转载自blog.csdn.net/hdp134793/article/details/129800195