首页 > 其他分享 >jquery基本

jquery基本

时间:2023-08-17 15:45:15浏览次数:33  
标签:jquery 基本 function 元素 --- 获取 事件 属性

1.jQuery是一个快速、小型且功能丰富的JavaScript库

2.选择器;

基本选择器:id 类 元素

过滤选择器: 都是按照索引来获取元素:索引是从0-n开始计数

:first //匹配第一个元素 (原生js中需要:first-child来筛选)

:last//匹配最后一个元素(原生js中需要:last-child来筛选)

:even//匹配索引是偶数的元素 注意:是按照索引取偶数元素

:odd//匹配索引是奇数的元素 注意:是按照索引取奇数元素

:eq(index)//取索引为index的元素---这个重中之重

:gt(index)//取索引大于index的所有元素

:lt(index)//取索引小于index的所有元素

.contains(text)//匹配内容为text的元素

child系列子选择器都是按照队列来获取元素:队列是从1-n计数

:first-child---获取队列第一个元素

:last-child---获取队列最后一个元素

:nth-child(n)---队列获取第n个元素

of-type系列子选择器:用于杂队列中

:first-of-type---获取队列第一个元素

:last-of-type---获取队列最后一个元素

:nth-of-type(n)---获取队列中第n个元素

内容过滤选择器

:contains(text)

属性选择器

$("元素[属性名='值']")

3.查询和改变元素内容

括号里为空是获取,填值是设置

元素.text("设置的文本");设置或者获取所选元素的文本内容;

元素.html("设置的内容");设置或者获取所选元素的内容(包括html标签);

元素.val("设置的值");设置或者获取表单字段的值(前提是表单设置了value属性);

4.获取和改变元素样式

$("元素").css("width")//获取元素的宽(可以获取外部式的样式,原生js只能获取行内样式);

$("元素).css("属性名","属性值")//改变一个样式

$("元素").css({属性名1:"属性值1",属性名2:"属性值2")

5.操作元素类名的四种方式

元素.addClass("类名")//添加类名

元素.removeClass("类名")//删除类名

元素.toggleClass("类名")//匹配类名,有就删除,没有就添加

元素.hasClass("类名")//检查元素是否有该类名---拥有就返回为true 没有返回false

6.获取和添加修改属性

元素.attr("属性名")//获取自定义属性值

元素.prop("属性名")//获取属性值,只能获取共有属性 w3c定义的属性

元素.prop({属性名1:"属性值1",属性名2:"属性值2"}) //设置属性值

arrt和prop的区别,返回checkbox/radio/select选择性标签的checked或selected属性时,attr是返回属性值或undefind,prop返回的是true或false

7.创建节点 添加节点 删除节点 复制节点

//创建

var el=$("<div id='box'>内容</div>") //可以直接在这里添加内容和属性

//添加节点

父元素.append(子元素)//在父级元素下最后添加一个元素

子元素.appendTo(父元素)//后面几个都不咋用

父元素.prepend(子元素)//在父级元素下第一个添加一个元素

子元素prependTo(父元素)//元素添加到父级元素下第一个元素

兄弟前后关系:after()、insertAfter()、before()、insertBefore()。

//删除

元素.remove()//删除一切,主要用这个

元素.empty()//清空元素下的内容,不算删除,不使用

元素.detach()//删除事件不彻底,不使用

//克隆

var el=元素.clone(true)//变量保存复制的节点,参数true决定了是否复制该节点的方法。添加到购物车会用到

注意:克隆节点要避免ID重复

8.替换节点

老节点.replaceWith(新节点)

新节点.replaceAll(老节点)

9.获取节点

下面全部都要记住

父元素.children()//数组形式获取元素下所有子元素 只能拿到子元素,拿不到后代级 ,不写参数默认获取所有子元素

父元素.find(子元素)//获取父级元素下的指定元素 必须赋参数进行筛选

元素.next()//获取元素紧挨的下一个兄弟元素

元素.prev()//获取元素紧挨的上一个兄弟元素

元素.siblings()//获取其他兄弟元素 //可以使用参数进行筛选

子元素.parent()//获取直接父元素

子元素.parents(指定的父元素)//获取多层外指定的父元素,不给参数获取全部父级

子元素.closest(指定父元素)//必须赋参数,这个方法基本不用

10.each()方法遍历

遍历对象,数组,元素

遍历数组时 i指索引 n指对应的值

遍历对象时 i指属性名 n指属性值

//遍历数组和对象

$.each(arr,function(i,n){

})

//遍历元素

元素.each(function(index,item){

})

11.获取元素距离顶部距离

常常用于楼层导航

元素.offset().top ----返回元素相对于文档顶部的偏移距离。 重重点

元素.scrollTop()----元素的滚动条垂直距离,传参数时可以设置距离。----针对元素本身的滚动条 比如有滚动条的div

12.获取浏览器滚动条距离

获取浏览器显示区域的高度 : $(window).height();

获取浏览器显示区域的宽度 : $(window).width();

获取页面的文档高度 : $(document).height();

获取页面的文档宽度 :$(document).width();

获取滚动条到顶部的垂直高度 : $(document).scrollTop(); document可以换成window 重重点

获取滚动条到左边的垂直宽度 : $(document).scrollLeft();

计算元素位置和偏移量: 元素.offset();

13.监听页面滚动事件

$(window).scroll(function(){//window可以换成document
	console.log($(document).scrollTop())//每次滚动都会打印浏览器滚动条的距离
})

14.事件委派

给父级元素下的未来元素添加事件-----重重点

普通事件只能注册给页面加载后一开始就有的元素,要想注册给后来添加的元素就要用事件委派。

语法结构://不用这种写法了  被淘汰了 用on替代
$("父元素").delegate("要被委派的子元素","事件名",function(){
	//这里写执行函数
})

常用语法:
$("父元素").on("事件名","要被委派的子元素",function(){
	//这里写执行函数
})

15.绑定事件

一个元素绑定一个事件

语法结构:
元素.on("事件名",function(){})
简化版:
元素.事件名(function(){})

两个事件绑定一个元素 重点记住移入移出例子

元素.on("事件名1 事件名2",function(){})//

例:
元素.on("mouseover mouseoout",function(){
	$(this).toggleClass("active)//移入移除自动添加和删除类名
})

一个元素绑定多个事件

链式操作:
元素.on("事件名",function(){}).on("事件名",function(){})

对象添加: //存在相同事件同时存在的时候要给事件添加别名 .an-----n值数字
元素.on({
		"事件名":function(){
		},
  	"事件名":function(){
    },		
})

16.清除事件

元素.off() //清除全部事件

元素.off("事件1 事件2")//清除多个事件

元素.off("事件名.an") //清除同类型事件的第n个

17.hover()复合函数

一个事件名,两个回调函数,相当于mouseover 和mouseout集合------常用

元素.hover(function(){
	//鼠标移入事件执行代码
},function(){
	//鼠标移除事件执行代码
})

18.显示隐藏的动画函数

语法:元素.动画函数(时间,特效,回调函数)---//都是可选参数

//普通显示隐藏

元素.show()

元素.hide()

元素.toggle()

//淡入淡出---fade英文意思变淡

元素.fadeIn()

元素.fadeOut()

元素.fadeToggle()

下拉显示隐藏---常用---slide英文意思滑动

元素.slideDown() //下拉显示

元素.slideUp() //上卷隐藏

元素.slideToggle()

19.自定义动画 animate *重重点*

delay()---延迟时间

$("选择器").stop(true).delay(1000).animate({样式名1:"样式值1",样式名2:"样式值2",},设置的动画时间,动画特效,回调函数)

20.stop(true)----清除动画堆砌

21.获取当前元素索引

元素.index()------常用

22.一些jQuery插件

   jquery-ui------让颜色参与动画 //有弊端 一些颜色无效,会被解析成透明

    jqueryeasing------缓动插件(动画特效)

    slide-轮播插件-----让你快速的布置一个轮播图

    jquery-validate----快速进行正则自动验证的操作插件

    juqery-easyui---前端ui框架插件

可以在:http://www.jq22.com去下载更多的插件

23.聚焦事件focus

当输入框聚焦时,发生的事件

元素.focus(function(){})

24.load()方法

load(url,data,functon(){})方法从服务器加载数据,并把返回的数据放置到指定元素中。三个参数,后两个可选。

例:

$("#div1").load("./home.html");

25.监听hash改变

bom下面的事件。可以直接用在框架上。当页面hash改变时,做相应的操作。

onhashchange 事件在当前 URL 的锚部分(以 '#' 号为开始) 发生改变时触发 。

window.onhashchange=function(){}

26.change事件

当元素的值改变时发生 change 事件(仅适用于表单字段) 只能用于textarea select

二、常用jq功能实现方法

1.正则验证插件使用

前提条件:

1.引入插件 2.获取form表单添加validate方法 然后设置规则和报错 3.可以自定义规则

注意:想验证的input框必须设置name,因为验证全靠name值获取该输入框

使用方法参考:https://www.runoob.com/jquery/jquery-plugin-validate.html

 //自定义规则
jQuery.validator.addMethod("isUser",function(value,element){
                //自定义正则
                var reg=/^[a-zA-Z][a-zA-Z0-9_]{5,11}$/
                //返回判定结果
                return reg.test(value)
            },"请输入6-12位用户名,第一个字符只能为字母");

$("form").validate({
                //规则
                rules:{
                    user:{//user是用户框的name值
                        required:true,
                      	isUser:true  //调用自定义的规则
                    },
                    pwd:{//pwd是密码框的name值
                        required:true
                    }
                },
                //报错信息
                messages:{
                    user:{
                        required:"请输入用户名"
                    },
                    pwd:{
                        required:"请输入密码"
                    }
                }
            })

2.input事件

jq没有封装input事件,原生js中用oninput事件,在jq中需要用on绑定,这个事件通常用在input输入框

propertychange是兼容ie9的事件

元素.on("input propertychange",function(){
		//执行代码
})

标签:jquery,基本,function,元素,---,获取,事件,属性
From: https://www.cnblogs.com/sclweb/p/17637780.html

相关文章

  • Linux-基本命令
    1.登录Liunx(CentOS7) 2.ls命令 蓝色表示文件夹,白色表示文件  1)-al和-hl命令 2)-t: sortbymodificationtime,newestfirst 3)-S:sortbyfilesize 4)ls-help:查看所有可用选项3.cd命令  1)cd目录:可以是绝对路径和相对路径。  2)cd#回到......
  • MySQL基本命令及基本操作
    MySQL数据库基本操作原创 Cloud研习社 Cloud研习社 2023-08-1210:33 发表于山东收录于合集#一站式教程274个#计算机248个#mysql8个#linux292个#云计算285个教程每周二、四、六更新基本操作有:查看有哪些数据库、查看有哪些表、创建数据库、创建表、查看表信息、......
  • redis的基本命令
    通用命令keyspattern查看符合要求的所有keydel(key)[key...]删除一个指定的keyexists判断key是否存在expire给一个key设置有效期,单位是秒,有效期到时该key会被自动删除(返回-2就是自动删除了)ttl查看一个key的剩余有效期help[命令]查看该命令的用法String类......
  • jquery内容文本值
       ......
  • 谷歌广告基本的出价策略简析
    GoogleAds针对不同类型的广告系列制定了多种出价策略。您可以根据自己广告系列所定位的广告网络,以及您注意的目标(点击次数、展示次数、转化次数或观看次数)来确定最适合自己的策略。在本文中,我将介绍如何根据广告目标来选择出价策略。考虑您的目标每种出价策略分别适用于不同类型......
  • Linux系统之mv命令的基本使用
    (Linux系统之mv命令的基本使用)一、MV命令介绍1.mv命令简介mv命令主要是在Linux系统中用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆......
  • jquery mobile 初探
    现在已经进入了移动web时代。所以现在的mobile的js框架也开始流行。浏览器有一个好处:不用区分安卓还是iOS,也不用下载app。随着框架和控件的日益增多,应用将更加丰富。比较著名的如:jquerymobile,Moobile(基于mooltools框架)TheMProject,senchatouch(继承ExtJS4的应用程序MVC架构),Ti......
  • $ jquery 选择器的使用
    一、$()函数【jquery()】用途包装DOM元素,以便于操作(jquery选择器)作为几个通用的实用工具函数的命名空间前缀,例如,删除字符串前后空格的实用函数,其调用方法如:$.trim(str);文档就绪处理程序:包装文档实例,然后调用ready()方法,当文档为操作准备就绪的时候就执行该函数创建DOM元素,通......
  • jquery.ui的bxslider控件在IE下使用的问题
    使用了 bxslider控件进行网页的切换。发现在firefox切换得很稳定,按照设置的切换时间进行切换。但是换成IE浏览器发现,却不是那么回事了。包括IE8和IE10.明明设置了30秒有的时候10分钟都不切换,本以为切换失灵了,结果又在第11分钟切换了。但是刷新页面再来一次,可能又变成5分钟后切换......
  • 数组的四个基本特点
    数组的四个基本特点-数组长度是确定的,数组一旦被创建,它的大小就是不可改变-其元素必须是相同类型,不允许出现混合类型-数组中的元素可以是任何数据类型,包括基本类型和引用类型-数组变量属引用类型,数组也可以看成对象,数组中的每个元素相当于该对象的成员变量-数......