首页 > 其他分享 >js事件,jQuery类库的介绍

js事件,jQuery类库的介绍

时间:2022-08-28 17:49:48浏览次数:56  
标签:类库 jQuery 对象 标签 元素 js 选择器

目录

JS

JS获取用户输入

普通数据(输入、选择)
	标签对象.value
文件数据(上传)
	标签对象.files
	标签对象.files[0]

JS类属性操作

标签对象.classList   # 查看类的列表
标签对象.classList.contains()  # 判断是否有这个类,返回true或者false
标签对象.classList.add()  # 添加类
标签对象.classList.remove()  # 移除类
标签对象.classList.toggle()  # 如果有查找到这个类,就删除;如果没有查找到就添加一个新的类

JS样式操作

了解即可,一般都用css操作样式,应该各司其职,不建议使用

格式:
	标签对象.style.标签样式属性名

backgroundColor  # 设置背景色,对应css的background-color
backgroundImage  # 设置背景图片

事件

1.事件的含义

给标签添加一些额外的功能,使标签能够触发一段js代码的运行。

2.触发方式

方式 说明
onclick 单击某个对象时调用事件的句柄
ondblclick 双击某个对象时调用事件的句柄
onfocus 元素获得焦点
例如:输入框
onblur 元素失去焦点
应用场景:用于验证表单,用户离开某个输入框时,代表输入完成,我们可以对它进行验证。
onchange 域的内容被改变
应用场景:通常用于表单元素,当元素内容被改变时触发(select联动)。
onkeydown 某个键盘按键被按下
应用场景:用户在最后一个输入框按下回车键时,表单提交
onkeypress 某个键盘按键被按下并松开
onkeyup 某键盘按键被松开
onload 一张页面或一幅图像完成加载
onmousedown 鼠标按钮被按下
onmousemove 鼠标被移动
onmouseout 鼠标从某元素上移开
onmouseover 鼠标移到某元素上
onselect 在文本框中的被选中时发生
onsubmint 确认按钮被点击,使用对象是form

3.添加事件的两种方式

<script>
	1.先定义一个function,在标签内部指定
    let func1 = function(){
		函数体代码
         return 返回值
    }
        <input type="button" value="按钮名" onclick(触发条件)="func1()">

    2.先查找标签,然后批量绑定
    let btnEle = document.getElementById('d1')
    btnEle.onclick = function(){
        函数体代码
    }    
</script>

4.关键字this

this指代的是当前被操作的标签对象

5.window.onload

等待文档加载完毕之后再执行一些代码

window.onload = function(){
    页面js代码
}

JS事件案例


jQuery

jQuery 类库

1.介绍

兼容多浏览器的JavaScript库

极大地简化JavaScript编程。它的宗旨就是:Write less,do more.

2.jQuery 导入

'''
注意:
	使用jQuery必须要先导入
	它的本质其实就是一个js文件
'''
1.本地导入
	提前下载文件并导入
2.网络CDN服务
	CDN:内容分发网络(收费)
	只要计算机能够联网就可以直接导入
    bootcdn:会提供一些免费的前端cdn服务

image

image

jQuery基本使用

1.基本语法

$(selector选择器).action动作()

2.js和jQuery的区别

1./*js代码操作*/
let p1Ele = document.getElementsByTagName('p')[0]
p1Ele.style.color = 'pink'
let p1Ele = document.getElementsByTagName('p')[1]
p1Ele.style.color = 'red'

image

2./*jQuery代码操作*/
$('p').first().css('color','black')
// 改变一个p标签
$('p').first().css('color','orange').next().css('color','blue')
// 同时改变两个标签的样式

image

3.jQuery选择器

选择器 代码
id选择器 $("#id")
标签选择器 $("tagName")
class选择器 $(".className")
配合使用 $("div.c1")
找到有c1 class类的div标签
组合选择器 $('#id,.className,tagName')

层级选择器:x和y可以是任意选择器

$("x y");	// x的所有后代y
$("x>y");	// x的所有儿子y
$("x+y");	// 找到所有紧挨着x后面的y
$("x~y");	// x之后的所有兄弟y

4.jQuery选择器查找到的标签和js有何区别

结果都是数组,但是功能有区别
1.如果使用索引取值,那么都是标签对象
	标签对象是无法调用jQuery提供的方法的
2.标签对象如果想转换成jQuery对象需要使用$()
	转换成jQuery对象的目的是为了使用jQuery提供的方法

$('p')[1].css('color','green')
VM967:1 Uncaught TypeError: $(...)[1].css is not a function
    at <anonymous>:1:11
$('p')[1].style.color = 'green'
'green'

image

基本筛选器

:first	# 第一个
:last	# 最后一个
:eq(index)	# 索引等于index的那个元素
:even	# 匹配所有索引值为偶数的元素,从0开始计数
:odd    # 匹配所有索引值为奇数的元素,从0开始计数
:gt(index)	# 匹配所有索引值大于给定索引值的元素
:lt(index)	# 匹配所有索引值小于给定索引值的元素
:not(元素选择器)	# 排除所有满足not条件的标签
:has(元素选择器)	# 选取所有后代元素包含一个或多个满足has条件的标签在内的标签 

image

表单筛选器

可以看成是属性选择器优化而来

1.选择器

:text
:password
:file
:radio
:checkbox

:submit
:reset
:button
:enabled
:disabled
:checked
:selected

2.优化前优化后

1.$("input[type='password']")
jQuery.fn.init [input.c, prevObject: 				jQuery.fn.init(1)]
0: input.c
length: 1
prevObject: jQuery.fn.init [document]
[[Prototype]]: Object(0)
    
2.$ (':text')
jQuery.fn.init [input.c, prevObject: 				jQuery.fn.init(1)]
0: input.c
length: 1
prevObject: jQuery.fn.init [document]
[[Prototype]]: Object(0)

image

3.表单对象属性

:enabled	# 可用元素
:disabled	# 不可用元素
:checked	# 匹配所有被选中的元素
:selected	# 匹配所有选中的 option 元素

'''
:checked 会把option也查找出来
input:checked 指定查找input标签中的checked标签
'''

image

标签:类库,jQuery,对象,标签,元素,js,选择器
From: https://www.cnblogs.com/Zhang614/p/16633196.html

相关文章

  • Spring Boot集成Jsp
    1、创建webapp目录,并在ProjectStructure中设置为资源文件夹2、导入依赖<!--内嵌Tomcat对jsp的解析依赖--><dependency><groupId>org.apache.tomcat.embed</grou......
  • threejs 实现3d柱状图
    import{useEffect,useRef}from'react';import{BoxGeometry,Mesh,AmbientLight,MeshPhongMaterial,MeshLambertMaterial,PerspectiveCamera,Scene,WebGLRe......
  • JS基础学习(二)操作BOM和DOM
    浏览器对象JavaScript可以获取浏览器提供的很多对象,并进行操作。windowwindow对象不但充当全局作用域,而且表示浏览器窗口。window对象有innerWidth和innerHeight属......
  • 关于vue的css样式对js动态添加的dom节点不生效问题的解决方法
    一、问题描述开发的时候免不了有时候需要向某个节点appendchild,添加子节点,但是如果是在vue中,就会发现通过操作dom的appendchild方式添加节点会出现样式对这些新增的节点......
  • Vue3+vite+js 配置别名@报错
    Vue3+vite+js配置别名@报错vue3项目中配置vite.config.js时使用path模块报错,一直警告找不大到path模块原因:path模块是node.js内置的功能,但是node.js本身并不支持ts解决......
  • JS基础学习(一)函数和对象
    函数定义方式1.第一种functionabs(x){if(x>=0){returnx;}else{return-x;}}2.第二种变量赋值的形式,注意最后有一个分号";......
  • NC20185 [JSOI2010]缓存交换
    题目原题地址:[JSOI2010]缓存交换题目编号:NC20185题目类型:堆、贪心时间限制:C/C++1秒,其他语言2秒空间限制:C/C++262144K,其他语言524288K1.题目大意Cache容量以及......
  • js无限debugger学习总结
    静态js代码debugger1.几千个含有debugger的script标签<script>debugger;</script><script>debugger;</script><script>debugger;</script>.........
  • Python 报错:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char
    报错内容:json.decoder.JSONDecodeError:Expectingvalue:line1column1(char0) 报错代码:print(res.json()) 报错原因:打印请求返回值报错该接口返回值......
  • jQuery类库
    jQuery简介'''核心功能:兼容多浏览器的JavaScript库'''1.一款轻量级的JS框架。jQuery核心js文件才几十kb,不会影响页面加载速度。2.链式表达式。jQuery的链式操作可以把多......