jQuery学习笔记

这篇博客详细介绍了jQuery中的DOM对象与jQuery包装集对象的区别,包括如何转换及选择器的使用。此外,还讲解了jQuery中的DOM操作,如获取和设置属性、样式以及内容,以及元素的创建、添加和删除。同时,提到了jQuery事件处理,如bind()方法和常见的事件类型。最后,简单提及了jQuery的Ajax功能,用于实现异步数据交互。
摘要由CSDN通过智能技术生成

jQuery

Jquery-Dom对象与Jquery包装集对象

  • 用 dom 获取一个空对象 会返回一个 null ,若用jquery 获取一个空对象则还是会返回一个jquery对象,只不过里面为空
// id 选择器
$('#id')
// class 选择器
$('.class')
// dom 对象转换成 jquery 对象
var divdom = document.getElementByTagName("div");
var divDomtoJquery = $(divdom)
// jquery 转 dom
// 获取包装集对象中指定下标的元素,将jquery对象转换成dom对象
var divJqueryTodom = divJquery[0];
console.log(divJqueryTodom)

jquery 选择器

基础选择器

选择器名称举例
id选择器#id$(“#testDiv”) 选择id为testDiv的元素
元素名称选择element$(“div”)选择所有div元素
类选择器.class$(“.blue”)选择所有class=blue的元素
选择所有元素*$(“*”)选择页面所有元素
组合选择器selector1,selector2,selector3#(“#testDiv,span,.blue”)同时选择多个原则器匹配元素

层次选择器

选择器名称举例
后代选择器ancestor descendant$(“#parent div”)选择di为parent的元素的所有div元素
子代选择器parent > child$(“#parent>div”)选择id为parent的直接div子元素
相邻选择器prev + next$(“.blue + img”)选择class类为blue的下一个img元素(只会找下一个,下一个没有就返回空)
同辈选择器prev - sibling$(“.blue - img”)选择class类为blue之后的img元素。(从下往下一直往找)

表单选择器

Forms名称举例
表单选择器:input查找所有的input元素:$(“:input”);
注意:会匹配所有input、textarea、select和button元素
文本框选择器:text查找所有文本框:$(“:text”)
密码框选择器:password查找所有密码框:$(“:password”)
单选按钮选择器:radio查找所有单选按钮:$(“:radio”)
复选框选择器:checkbox查找所有复选框:$(“:checkbox”)
提交按钮选择器:submit查找所有提交按钮:$(“:submit”)
图像域选择器:image查找所有图像域:$(“:image”)
重置按钮选择器:reset查找所有重置按钮:$(“:reset”)
按钮选择器:button查找所有按钮:$(“:button”)
文本域选择器:file查找所有文本域:$(“:file”)

jquery Dom 操作

操作元素的属性

获取元素
方法说明举例
attr(属性名称)获取指定的属性值,操作 checkbox 时,
选中返回 checked ,没有选中返回 undefined
attr(‘checked’)
attr(‘name’)
prop(属性名称)获取具有 true 和 false 两个属性的属性值prop(‘checked’)

区别:

  1. 如果是固有属性,attr()和prop()方法均可获取

  2. 如果是自定义属性,attr()可以获取,prop()不可获取

  3. 如果返回值是 boolean 类型的属性

    ​ 若设置了属性,attr()返回具体的值,prop()返回true

    ​ 若未设置属性,attr()返回 undefined ,prop() 返回false

<input type="checkbox" name="ch" checked="checked" id="aa"/>
<script src="js/jquery-3.4.1.js" type="text/javascript"></script>
<script>
	var name = $("#aa").attr("name");
    console.log(name); // 打印 ch
    var name2 = $("#aa").attr("name");
    console.log(name2);// 打印  ch
</script>
设置属性
  • attr("属性名","属性值")
  • prop("属性名","属性值")
// 固有属性
$("#aa").attr("value","1")
$("#bb").attr("value","2")

// 返回值是Boolean的属性
$("#bb").attr("checked","checked");
$("#bb").prop("checked",false)

// 自定义属性
$("#bb").attr("uname","admin");
// prop 不可操作自定义属性
移除属性
  • removeAttr("属性名")
$("#aa").removeAttr("checked")

总结:

  • 如果属性的类型是 Boolean,则使用 prop() 方法,否则使用 attr() 方法

操作元素的样式

方法说明
attr(“class”)获取class属性的值,即样式名称
attr(“class”,“样式名”)修改class属性的值
addClass(“样式名”)添加样式名称
css()添加具体样式
removeClass(Class)移除样式名称
// 获取元素样式名
var cls = $("#conBlue").attr("class");
console.log(cls)

// 设置元素样式,原来的样式会被覆盖
$("#conBlue").attr("class","green")

// 添加样式
$("#conBlue").addClass("larger")
$("#conBlue").addClass("pink")

// 添加具体样式
$("#conBlue").css({
    "font-size","40px",
    "font-family":"楷体"
});

// 移除样式
$("#remove").removeClass("larger")

操作元素内容

方法说明
html()获取元素的html内容
html(“内容”)设定元素的html内容
text()获取元素的文本内容,不包含html
text(“内容”)设置元素的文本内容,不包含html
val()获取表单元素value值
val(“值”)设定表单元素的value值
  • 表单元素
    • 文本框
    • 密码框password
    • 单选框radio
    • 复选框checkbox
    • 隐藏域hidden
    • 文本域textarea
    • 下拉框select
  • 非表单元素
    • div
    • span
    • h1~h6
    • table
    • tr
    • td
    • li
    • p
// html
$("#html").html("<h2>上海</h2>");
$("#html").html("上海");
var html = $("#html").html()
var html2 = $("#html2").html()
console.log(html)
console.log(html2)

// text
var txt = $("#text").text()
var txt2 = $("#text2").text()
console.log(txt)
console.log(txt2)

创建元素

$('元素内容')
$('<p>this is a paragraph!!!</p>')

添加元素

方法说明
prepend(content)在被选元素内部的开头插入元素或内容,被追加的content参数,可以是字符、html 元素标记
$(content).prependTo(selector)把 content 元素或内容加入 selector 元素开头
append(content)在被选元素内部的结尾插入元素或内容,被追加的content参数,可以是字符、html元素标记。
$(content).appendTo(selector)把 content元素或内容插入 selector 元素内,默认是在尾部
before()把元素前插入指定的元素或内容:$(selector).before(content)
after()在元素后插入指定元素或内容:$(selector).after(content)

删除元素

方法说明
remove()删除所选元素或指定的子元素,包括整个标签和内容一起删
empty()清空所选元素的内容

遍历元素

each

$(selector).each(function(index,element))

$(selector).each(function(index,element)): 遍历元素
参数 function 为遍历时的回调函数
index 为遍历元素的序列号, 从0 开始
element 是当前的元素,此时是 dom 元素

Jquery 事件

ready 加载事件

  • ready() 类似于js 中的 load() 事件

  • ready() 可以写多个,按顺序执行

  • $(document).ready(function(){}) 等价于 $(function(){})

bind()绑定事件

为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数

$(selector).bind(eventType [,eventData], handler(eventobject));
  • eventType: 是一个字符串类型的事件类型,就是你所需要绑定的事件

    • 这类型可以包括如下:

      blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick
      mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error
      
  • [,eventData]:传递的参数,格式:{名:值, 名2:值2}

  • handler(eventObject):该事件触发执行的函数

  • 绑定单个事件

    • bind 绑定

      $("元素").bind("事件类型",function(){
          
      })
      
    • 直接绑定

      $("元素").事件名(function(){
          
      })
      
  • 绑定多个事件

    • bind 绑定

      // 1. 同时为多个事件绑定同一个函数
      指定元素.bind("事件类型1 事件类型1 ..",function(){
          
      });
      // 2.为元素绑定多个事件,并设置对应的函数
      指定元素.bind("事件类型",function(){
          
      }).bind("事件类型",function(){
          
      });
      // 3.为元素绑定多个事件,并设置对应的函数
      指定元素.bind({
          "事件类型":function(){
              
          },
          "事件类型":function(){
              
          }
      })
      
    • 直接绑定

      指定元素.事件名(function(){
          
      }).事件名(function(){
          
      });
      

Jquery Ajax

异步无刷新技术

$.ajax

  • jquery调用ajax方法:
    • 格式:$.ajax({});
    • 参数:
      • type:请求方式GET/POST
      • url:请求地址url
      • async:是否异步,默认true表示异步
      • data:发送到服务器的数据
      • dataType:预期服务器返回的数据类型
      • contentType:设置请求头
      • success:请求成功时调用次函数
      • error:请求失败时调用此函数

get 请求

$.ajax({
    type:"get",
    url:"js/cuisine_area.json",
    async:true
})

$.get

语法:

$.get("请求地址","请求参数",function(形参){
    
});

$.post

语法:

$.post("请求地址","请求参数",function(形参){
    
});

$.get

语法:

$.getJSON("请求地址","请求参数",function(形参){
    
});
// 注:要求返回的格式必须为 json 格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值