jQuery常用操作
jQuery
jQuery是一个轻量级的JS库,是一个被封装好的JS文件,提供了更为简便的元素操作方式,jQuery封装了DOM。
使用jQuery
引入jQuery文件
<scrtipt src='jquery-1.11.3.js'> </script>
注意:引入必须放在其他jQuery操作之前。
jQuery对象
jQuery对象是由jQuery对页面元素进行封装后的一种体现
jQuery中所提供的所有操作都只针对jQuery对象,其他对象(DOM)无法使用
工厂函数 -- $()
想要获取jQuery对象,则必须使用工厂函数$()
在$()中允许传递一个选择器/DOM对象作为参数,$()能够将选择器和DOM对象全部封装成jQuery对象再进行返回
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery演示</title>
</head>
<body>
<div id="main">
id是mian的div元素
</div>
<button onclick="bClick()">获取元素</button>
<script src="jquery-1.11.3.js"></script>
<script>
function bClick() {
//通过jquery选择器获取id='main'的元素
var m = $("#main");
//设置元素的内容
m.html('动态设置的值');
console.log(m)
}
</script>
</body>
</html>
DOM对象和jQuery对象之间的转换
DOM对象不能使用jQuery提供的操作,反之同样。
1、将DOM对象转换为jQuery对象
语法:var 变量 = $(DOM对象);
注意:所有的jQuery对象在起名的时候,最好在变量前加$,主要用于和DOM对象的区分
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="main">
这是div元素
</div>
<button onclick="bClick()">DOM - jQuery</button>
<script src="jquery-1.11.3.js"></script>
<script>
function bClick() {
// 通过DOM的操作,得到id为main的元素
var main = document.getElementById('main');
// 再将其转换为jQuery对象
var $main = $(main);
$main.html('转换为JQ对象成功!')
}
</script>
</body>
</html>
2、将jquery对象转换为DOM对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="main">
这是div元素
</div>
<button onclick="JQtoDom()">jQuery-DOM</button>
<script src="jquery-1.11.3.js"></script>
<script>
function JQtoDom() {
// 使用jquery得到id为main的元素
var $main = $("#main");
// 再将其转换为DOM对象
// var m = $main[0];
var m = $main.get(0);
m.innerHTML = '转换为DOM对象成功!'
}
</script>
</body>
</html>
jQuery选择器
作用
获取页面上的元素们,返回值都是由jQuery对象所组成的数组
语法:$("选择器")
基本选择器
1、ID选择器
$("#id");
返回:返回页面中指定ID值的元素
2、类选择器
$(".className")
返回:页面中指定className的所有元素
3、元素选择器
$("element")
返回:页面中指定标记的所有元素
4、群组选择器 / 复合选择器
$("selector1,selector2,...")
返回:返回满足函数内所有选择器的函数们
层级选择器
1、$("selector1 selector2")
后代选择器
2、$("selector1>selector2")
子代选择器
3、$("selector1+selector2")
名称:相邻兄弟选择器
作用:匹配紧紧跟在selector1后面且满足selector2选择器的元素
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="main">
<p id="p1">这是id为p1的元素</p>
<p>这是普通元素</p>
<p>这是普通元素</p>
<p>这是普通元素</p>
<p>这是普通元素</p>
</div>
<button onclick="bNB()">相邻兄弟选择器</button>
<script src="jquery-1.11.3.js"></script>
<script>
function bNB() {
$("#p1+p").css('background', 'yellow');
}
</script> </body>
</html>
4、$("selector1~selector2")
名称:通用兄弟选择器
作用:匹配selector1后面所有满足selector2选择器的元素
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="main">
<p id="p1">这是id为p1的元素</p>
<p>这是普通元素</p>
<p>这是普通元素</p>
<p>这是普通元素</p>
<p>这是普通元素</p>
</div>
<button onclick="bNB()">通用兄弟选择器</button>
<script src="jquery-1.11.3.js"></script>
<script>
function bNB() {
$("#p1~p").css('color', 'red');
}
</script>
</body>
</html>
基本过滤选择器
过滤选择器通常都会配合着其他的选择器一起使用
1、:first
只匹配一组元素中的第一个元素
$("p:first")
2、:last
只匹配一组元素中的最后一个元素
3、:not("selector")
在一组元素中,将满足selector选择器的元素排除出去
4、:odd
匹配 偶数行 元素(奇数下标)
5、:even
匹配 奇数行 元素(偶数下标)
6、:eq(index) -- equals
匹配 下标等于 index 的元素
7、:gt(index)
匹配 下标大于 index 的元素
8、:lt(index)
匹配 下标小于 index 的元素
属性过滤选择器
依托于html元素的属性来进行元素过滤的
1、[attribute]
作用:匹配包含指定属性的元素
ex:
div[id]:匹配具备id属性的div元素
2、[attribute=value]
作用:匹配attribute属性值为value的元素
ex:
input[type=text]
input[type=password]
3、[attribute!=value]
作用:匹配attribute属性值不是value的元素
4、[attribute^=value]
作用:匹配attribute属性值是以value字符开头的元素
ex:
p[class^=col]
5、[attribute$=value]
作用:匹配attribute属性值是以value字符结尾的元素
6、[attribute*=value]
作用:匹配attribute属性值中包含value字符的元素
子元素过滤选择器
1、:first-child
匹配属于其父元素中的首个子元素
2、:last-child
匹配属于其父元素中的最后一个子元素
3、:nth-child(n)
匹配属于其父元素中第n个子元素
4、jQuery操作DOM
基本操作
1、html()
作用:获取 或 设置 jQuery对象中的html内容
ex:
console.log($("#main").html());
$("#main").html("");
2、text()
作用:获取 或 设置 jQuery对象中的text内容
3、val()
作用:获取 或 设置 jQuery对象中的value值(表单控件)
4、属性操作
attr()
作用:读取 或 设置jQuery对象的属性值
ex:
$obj.attr("id");
获取 $obj 的id属性值
$obj.attr("id","main");
设置$obj对象的id属性值为main
removeAttr("attrName")
删除jQuery对象的attrName属性
ex:
$obj.removeAttr("class");
2、样式操作
1、attr()
$obj.attr("class","redBack");
2、addClass("className")
作用:将className 添加到元素的class值之后
ex:
$obj = $obj.addClass("c1");
$obj = $obj.addClass("c2");
连缀调用:
$obj.addClass("c1").addClass("c2");
3、removeClass("className")
如果无参的话,则清空类选择器
如果有参数的话,则删除对应的类选择器
ex:
$obj.removeClass("c1")
将c1类选择器从$obj移除出去
$obj.removeClass()
清空$obj的所有类选择器
4、toggleClass("className")
切换样式:
元素如果具备className选择器,则删除
元素如果没有className选择器,则添加
5、css("属性名")
$obj.css("width");
获取$obj对象的width属性值
6、css("属性名","属性值")
$obj.css("background-color","yellow");
设置$obj对象的background-color的属性值为yellow
7、css(JSON对象)
JSON对象:
是一种约束了格式的对象表现形式
JSON:JavaScript Object Notation
JSON对象的表示方式:
1、JSON对象必须使用{}括起来
2、使用键值对的方式来声明数据(表示属性和值)
3、所有的属性在使用时必须使用""括起来,值如果是字符串的话,也必须使用""括起来
4、属性和值之间使用:连接
5、多对属性和值之间使用 , 隔开
ex:
$obj.css({
"color":"red",
"font-size":"32px",
"float":"left"
});
遍历节点
1、children() / children("selector")
获取某jQuery对象的所有子元素 或 带有指定选择器的子元素
注意:只考虑子代元素,不考虑后代元素
2、next() / next("selector")
获取某jQuery对象的下一个兄弟元素 / 满足selector的下一个兄弟元素
3、prev() / prev("selector")
获取某jQuery对象的上一个兄弟元素 / 满足selector的上一个兄弟元素
4、siblings() / siblings(selector)
获取某jQuery对象的所有兄弟元素 / 满足selector的所有兄弟元素
5、find("selector")
查找满足selector选择器的所有后代元素
6、parent()
查找某jQuery对象的父元素
创建对象
语法:$("创建的标记")
ex:
1、创建一对div
var $div = $("<div></div>");
$div.html("动态创建的div");
$div.attr("id","container")
$div.css("color","red");
2、创建一对div
var $div = $("<div id='container' style='color:red;'>动态创建的div</div>");
插入元素
作用:将创建好的元素插入到网页中
1、内部插入
作为元素的子元素插入到网页中
$obj.append($new);
将$new元素插入到$obj元素中的最后一个子元素位置处(追加)
$obj.prepend($new);
将$new元素插入到$obj元素中的第一个子元素位置处
2、外部插入
作为元素的兄弟元素插入到网页中
$obj.after($new);
将$new元素作为$obj的下一个兄弟元素插入进来
$obj.before($new);
将$new元素作为$obj的上一个兄弟元素插入进来
删除元素
$obj.remove();
将$obj元素删除出去
jQuery中的事件处理
1、页面加载后的执行
类似于window.onload 但不同于 window.onload
jQuery加载后执行的特点:
在DOM树加载完毕的时候就开始执行
$(document).ready( function(){
//页面的初始化操作
//DOM树加载完成后就开始运行
} );
$().ready( function(){
//页面的初始化操作
//DOM树加载完成后就开始运行
} );
$( function(){
//页面的初始化操作
//DOM树加载完成后就开始运行
} );
2、jQuery的事件绑定
方式1
$obj.bind("事件名称",事件处理函数);
ex:
$obj.bind("click",function(){
//事件的行为操作
console.log("... ....");
});
方式2
$obj.事件名称(function(){
//事件处理函数
});
ex:
$obj.click(function(){
//通过 this 来表示触发该事件的DOM对象
});
3、事件对象 - event
在绑定事件的时候,允许传递 event 参数来表示事件对象
$obj.bind("click",function(event){
//event表示当前事件的事件对象
});
$obj.click(function(event){
//event表示当前事件的事件对象
});
event的使用方式与原生JS事件中的event使用方式一致。
event.stopPropagation() : 阻止事件冒泡
event.offsetX:
event.offsetY:
event.target:获取事件源
jQuery 动画
1、基本显示 / 隐藏
语法:
$obj.show() / $obj.show(执行时间)
$obj.hide() / $obj.hide(执行时间)
2、滑动式显示 / 隐藏
语法:
显示:$obj.slideDown() / $obj.slideDown(执行时间)
隐藏:$obj.slideUp() / $obj.slideUp(执行时间)
3、淡入淡出式显示 / 隐藏
语法:
显示:$obj.fadeIn() / $obj.fadeIn(执行时间)
隐藏:$obj.fadeOut() / $obj.fadeOut(执行时间)
jQuery常用操作的更多相关文章
- JQuery常用操作实现方式
http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...
- jQuery—常用操作
一.jquery各版本变化 1.3:增加live(),为当前和将来增加的元素绑定事件 1.4:增加delegate().undelegate(),替代live(),可以遍历绑定 1.6:2个破坏性变更 ...
- Jquery常用操作:checkbox、select取值,radio、checkbox、select选中及其相关
常用Jquery操作:checkbox取值.select取值.radio选中.checkbox选中.select选中及其相关: 1.影藏页面元素 使用jquery真的很方便,比如要控制div的显示与隐 ...
- jQuery 常用操作(转)
一.书写规则 支持链式操作: 在变量前加"$"符号(var $variable = jQuery 对象): 注:此规定并不是强制要求. 二.寻找元素 选择器 基本选择器 层级选择器 ...
- jQuery 常用操作
jQuery操作: 不像dom是通过等号赋值,它是传递参数 $('#tb:checkbox').prop('checked'); 获取值 $('#tb:checkbox').prop('checked ...
- 160726、jQuery常用操作
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. jQuery对象 jQuery产 ...
- jQuery常用操作(待续)
1. input清空内容 <1> $("#选择器id").val(""); <2> $("input[name='input框 ...
- jQuery常用操作部分总结
注意:$(“.xxx”) 类,一定要在前面加上点callback为完成后执行的函数名称隐藏显示:hide() show()淡入淡出:fadeIn() fadeOut() fadetoggl ...
- jquery常用操作整理
1.数据中添加或者删除指定元素 var arr=['red','yello','blue']; arr.push('green'); //添加元素 arr = $.grep(arr,functio ...
随机推荐
- Unity3D 面试三 ABCDE
说说AB两次面试: “金三银四” 三月份末又面试过两家:共和新路2989弄1号1001这家找了我半天,哇好漂亮的办公大楼!问了保安才知道,这个地址是小区地址.另一家也是创业公司面试我的自称是在腾讯做过 ...
- yii---解决post请求出现500错误
在使用yii框架的时候,在发送数据请求的时候,POST请求会出现500错误,这是因为yii2开启了防御csrf的攻击机制,可去先去掉,在控制器里去掉:public $enableCsrfValidat ...
- codeforces#514 Div2---1059ABCD
1059A---Cashier http://codeforces.com/contest/1059/problem/A 题意: Vasya每天工作\(l\)个小时,每天服务\(n\)个顾客,每个休息 ...
- jupyter notebook快捷键速查手册
jupyter notebook快捷键速查手册 Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本 ...
- hihocoder 1334 - Word Construction - [hiho一下第170周][状态压缩+DFS]
题目链接:https://hihocoder.com/problemset/problem/1334 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Given N wo ...
- 使用Homebrew在Mac OS X EI Capitan上安装与配置nginx和PHP
安装nginx brew install nginx sudo nginx 测试安装 在浏览器打开下面的链接地址 http://localhost:8080 nginx.conf配置 # HTTPS ...
- idea启动tomcat后访问项目报java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
一.报错“java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet” 1.File --- ...
- 学习计划 mysql 引擎
-- 什么是引擎? 按照我现在的勒戒,就可以提供 Mysql 对不同表的处理方式,各有优缺点. 就像名字一样,把我们数据库看成法拉利的话,引擎也就是发送机,有的跑的快,有的距离长....... -- ...
- 一次性从git远程仓库中克隆到本地。
自动化工具 一次性从git远程仓库中克隆到本地. import os # git操作 将远程repo克隆到本地 def git_clone_cd_pull(url): # 获取仓库名称 如fullsp ...
- 在linux下使用sqlcmd
1.curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.re ...