07-JQuery

环境搭建

来源

  • 官网 - 官方文档

  • CDN - 在线

使用

导入jQuery文件,使用<script>标签引入

JS对象与JQuery对象

两者不互通

方法作用
$(Js)Js对象转JQuery对象
jQuery[index]JQuery对象转Js对象

事件处理

添加

方式一

jQuery对象.on(事件名,函数对象)

jQuery对象.bind(事件名,函数对象)

对某个jQuery绑定事件,触发则会执行函数对象

方式二

函数式绑定:jQuery对象.事件名(函数对象)

一旦触发事件,则调用函数对象

移除

jQuery对象.off(事件名)

$("#btn1").off("click");

选择器

基本语法

$("选择器").方法;

基础选择器

$("选择器")

方法作用
*通用选择器
#idid选择器(只选择第一个)
.class类选择器
标签名标签选择器
选择器1,选择器2...组合选择器

层级选择器

选择器作用
父 元素后代选择器
父>子子类选择器
同级~同级内兄弟选择器
同级+同级内相邻选择器

基本筛选器

$(选择器:筛选器)

筛选器作用
:first获取头部元素
:last获取尾部元素
:not(选择器)去除所有指定元素
:even获取偶元素
:odd获取奇元素
:eq(下标)等于下标的元素
:gt(下标)大于下标的元素
:lt(下标)小于下标的元素
:header标题元素

表单筛选

筛选器作用
:input匹配所有input, textarea, select,button元素
:text匹配所有单行文本框
:password匹配所有密码框
:radio匹配所有单选按钮
:checkbox匹配所有复选框
:submit匹配所有提交按钮( submit,button )
:button匹配所有按钮
:file匹配所有文件域

常用事件

预加载

$(选择器).ready(function(){
  // 预加载代码...
});
筛选器作用场景
.hover()鼠标放置触发文章
.click()单击按钮
.dbclick()双击按钮
.blur()失去焦点文本框
.change()改变事件下拉框
.keyup()键盘松开登录

each方法

// 数组遍历
var arr = ["a","b","c"];
$.each(arr, function(下标,元素) {
    console.log(this);
});

取值

筛选器作用
jQuery对象.val()获取元素value属性值
jQuery对象.html()获取元素内部HTML 代码
jQuery对象.text()获取元素内部文本信息

赋值

$("#选择器").on("事件", function() { 
    // 传参 -- 覆盖(修改)
    $("p").html($("p").html()+"新值");
})

特殊现象处理

标签默认行为

a -- 默认页面跳转

from -- 默认会提交数据(也会跳转)

阻止默认行为

preventDefault();

<a href="" onclick="testa(this)">点击</a>
<script>
    function testa(t){
        //阻止默认的行为
        event.preventDefault();
    }
</script>

事件冒泡

事件冒泡:子元素上触发的事件,被父元素捕获

阻止事件冒泡

event.stopPropagation();

$("子元素").on("click",function(){
    $("子元素").css("background-color","blue");
    // 阻止子元素触发带动父元素事件捕获变化
    event.stopPropagation();
});

事件委托

将子元素的事委托给父元素处理(底层逻辑:事件冒泡)

前提:只存在于父子关系

on(事件名,委托者(选择器),回调函数)

$("父").on("click","子",function(){
    $(this).css("background-color","red");
});

event对象和this对象

使用jQuery绑定事件,直接给你event对象和this对象

$("父").on("click","子",function(){
    // 事件本身
    console.log(event); 
    // 事件触发者 -- 原生JS对象
    console.log(this);
});

操作元素属性

元素属性分类

1、固有属性 元素自带属性:id class name...

2、自定义属性

// aa 自定义的属性 值为aa
<a href="" aa="aa"></a>

3、返回值属性(true / false):checked selected...

操作元素的方法

返回值为布尔类用prop方法,其他属性操作都用attr

方法作用
.attr("属性名","属性值")设置新属性K-V
.prop("属性名","属性的值")设置新属性K-V

操作元素的样式(css)

方法名作用
.attr("class","class值")设置样式表(存在则覆盖)
.addClass(class值)添加样式(有则叠加)
.css({css样式})添加内联样式

操作DOM元素

元素添加

方法名作用
.append(str)指定元素内部的最后添加元素
.prepend(str)指定元素内部的最前添加元素
.after(str)指定元素外部的最后添加元素(兄弟)
.before(str)指定元素外部的最前添加元素(兄弟)

元素删除

方法名作用
empty()清空某个元素的内部HTML
remove()直接删除元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值