74-JQuery基础

109 阅读2分钟

jquery

  • 就是js的函数库
  • 主要是极大程度优化js中的dom板块
  • jquery中所有应用都为函数

使用

  • 下载:

  • 在需要使用的文件中引入jquery文件(先引入再使用)

获取标签

$("css选择器名称")
$(".item1");
$("#one");
$("div");
  • 注意:juqery和原生写法不能混用

jquery对象和dom对象之间的转换

1.将jquery对象转换为dom对象
let _item = $(".item1");//jquery对象
//使用下标[下标]
_item[0];
//使用.get(下标)
_item.get(0);

2.将dom对象转换jquery对象 $(dom对象)
let item = document.querySelector(".item1")
$(item);

获取标签内容/修改内容

1.获取内容
$("css选择器").html()
$("css选择器").text()
$("输入框选择器").val()

2.修改内容
$("css选择器").html("新数据")//可以解析标签
$("css选择器").text("新数据")//不能解析标签
$("输入框选择器").val("新数据")

增加/删除html节点

  • .before():在指定标签之前添加新标签
  • .after():在指定标签之后添加新标签
  • .append():在指定父标签末尾处添加新标签
// item3之前增加标签 参数为新标签数据
$(".item3").before("<span>这是span1</span>")
// item3之后增加标签
$(".item3").after("<span>这是span2</span>")
//  在父元素末尾添加新标签
$(".box").append("<span>这是span3</span>")
  • .remove():删除指定标签
$("待删除标签").remove()

获取/修改属性

分类

  1. 普通原生属性:必须同时有属性名和属性值(src/alt)
  2. 特殊原生属性:布尔属性值——属性名和属性值相同
  3. 自定义属性:开发者在标签上自定义属性(data-id/data-index)
  • 普通原生属性

    1.获取属性
    $("css选择器").attr("属性名")
    
    2.修改属性
    $("css选择器").attr("属性名","属性值")
    
    //批量修改
    $("css选择器").attr({  
    属性名1:属性值1,   
    属性名2:属性值2  
    .....
    })
    
  • 特殊原生属性

    1.获取属性
    $("css选择器").prop("属性名")//返回布尔值
    $("css选择器").attr("属性名")//返回字符串或者undefined
    
    2.修改属性
    $("css选择器").prop("属性名",布尔值)
    
  • 自定义属性

    1.获取属性
    2.$("css选择器").data("-后的属性名")
    3.$("css选择器").attr("属性名")
    

删除属性

$("css选择器").removeAttr("属性名")

clsss属性操作

  • .hasClass():判定当前标签上是否有该类名,返回布尔值

  • .addClass():添加类名,不会覆盖原本的类名

  • .removeClass():删除指定类名

  • .toggleClass():切换类名

    $("css选择器").hasClass("类名")
    $("css选择器").addClass("类名")
    $("css选择器").removeClass("类名")
    $("css选择器").toggleClass("类名")
    

事件

  • .事件类型(回调函数):不支持input事件

    $(".btn1").click(function(){  
    alert(1)
    })
    
  • on:on(事件类型,触发事件的标签,回调函数),支持任意事件类型和事件委托

    $(".box").on("click","button",function(e){   
    console.log(111);   
    console.log(e.target);  
    console.log($(this));//获取当前触发事件的标签,相当于e.target,但是获取jquery对象
    })
    
    • $(this):表示触发事件的标签

获取/修改css样式

  • .css("css属性名","css属性值")

    //获取
    $("div").css("width")
    
    //修改
    $("div").css("width","300px")
    
    //批量修改
    $("div").css({    
    width:"400px",  
    height:"500px",  
    backgroundColor:"red"
    })
    
  • show():控制标签进行显示

  • hide():控制标签进行隐藏

  • toggle():控制标签进行切换

    $(".btn1").click(function(){ 
        $(".box").show()
    })
    $(".btn2").click(function(){  
        $(".box").hide()
    })
    $(".btn3").click(function(){   
        $(".box").toggle()
    })
    
  • fadeIn():淡入效果

  • fadeOut():淡出效果

  • fadeToggle():淡入效果的切换

    $(".btn1").click(function(){   
        // 淡入效果   
        // 参数为动画作用事件 为毫秒   
        $(".box").fadeIn(2000)
    })
    
    $(".btn2").click(function(){   
        // 淡出    
        $(".box").fadeOut()
    })
    
    $(".btn3").click(function(){  
        $(".box").fadeToggle()
    })
    
    • 参数为动画作用事件,为毫秒

操作多选框

$("[name=hobby]").click(function () {   
    let arr = [];   
    let checkeds = $("[name=hobby]:checked")    
    // jquery对象不能使用foreach方法 each(function(index,element)) 获取dom原生对象   
    checkeds.each((i, ele) => {     
        // arr.push(ele.value)      
        arr.push($(ele).val())   
        })   
     console.log(arr);
     })
     
     // 全选$(".btn1").click(function(){   
     $("[name=hobby]").prop("checked",true)
     })
     // 取消选择$(".btn2").click(function(){   
         $("[name=hobby]").prop("checked",false)
     })

操作其他节点

//1.获取父标签 .parent()
console.log($(".item3").parent());
//2.获取指定祖父标签 .parents("css选择器名")
console.log($(".item3").parents("body"));
//3.获取子标签 .children() 直接子元素
console.log($("div").children());
//4. 获取满足条件的后代标签 .find("css选择器")
console.log($("div").find("li"));
//5. 上一个兄弟标签
console.log($(".item3").prev());
//6. 下一个兄弟标签
console.log($(".item3").next());
//7. 指定条件兄弟标签
console.log($(".item3").siblings("li"));