一、jQuery简介

  1、可用的jQuery服务器网站:https://www.bootcdn.cn/

   jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理
HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

  jQuery的引入

    <script src='jquery 3.3.1.js'></script>//引入jQuery代码(模块)
<script type="text/javascript"> //写自己的js或者jquery代码 </script>

二、jQuery与dom对象的关系

(1)jQuery是dom对象的集合;
(2)jQuery和dom对象的方法和属性是隔离的,不能瞎用;
(3)$ <==>jQuery;等价的
两者之间的转换关系
$('选择器')[索引] ----> dom对象
$('dom对象') ----> jquery对象

三、选择器

  1、基础选择器

$("*")  $("#id")   $(".class")  $("element")  $(".class,p,div")

  

  2、层级选择器(>:儿子选择器;+:毗邻选择器;~:弟弟选择器)

$(".outer div")  $(".outer>div")   $(".outer+div")  $(".outer~div")

  3、基本筛选器(even:偶数;odd:奇数;lg:小于)

$("li:first")  $("li:eq(2)")  $("li:even") $("li:gt(1)")

  4、属性选择器

基本语法:$("[属性1][属性2]...")
$('[id="div1"]')   $('["alex="sb"][id]')

  5、表单选择器

$("[type='text']")----->$(":text")         注意只适用于input标签  :
$("input:checked")

  6、表单属性选择器

    :enabled
:disabled
:checked
:selected
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery</title>
</head>
<body>
<div class="c1" id="i1">DIV</div> <div class="c2">
<p class="c4">111</p>
<a href="">click</a>
</div>
<div class="p1">
<p class="c3" id="i3">222</p>
<p class="c3">333</p>
<p class="c3" id="i2">444</p>
<div>
<p>孙子</p>
</div>
<p class="c3">555</p>
<p class="c3 c8">666</p>
<p class="c3">777</p>
<p class="c3">888</p>
</div> <div alex="123" peiqi="678">alex和配齐</div>
<div alex="123">alex</div>
<div alex="234">egon</div>
<div peiqi="678">8888</div>
<div class="c5">
<input type="checkbox" name='in' value='456'>111
<input type="checkbox" name='in' checked="checked">222
<input type="checkbox" name='in'>333
</div>
<select>
<option value="1">Flowers</option>
<option value="2" selected="selected">Gardens</option>
<option value="3" selected="selected">Trees</option>
</select> <hr> <div class="c6" yuan="123">123</div>
<div class="c7" yuan="234">234</div> <div class="c9">
<p>111</p>
<p>222</p>
<div class="c10">
<p>333</p>
</div>
<a href="">click</a>
</div> <script src='jquery 3.3.1.js'></script>//引入jQuery代码(模块)
<script type="text/javascript">
//写自己的js或者jquery代码
// 基本选择器
// $('*').css('color','red');//通用选择器,选择所有
// $('p').css('color','green');//元素选择器
// $('#i1').css('color','red');//ID选择器
// $('.c3').css('color','red');//类选择器 //层级选择器
// $('.p1 p').css('color','red');//子孙选择器
// $('.p1>p').css('color','red');//儿子选择器
// $('.c8+p').css('color','red');//毗邻选择器,只选择挨着的第一个指定标签
// $('.c8~p').css('color','red');//弟弟选择器 //基本筛选器
// $('.p1 p:eq(3)').css('color','red');//选择索引为3的那个标签,返回值为dom对象
// $('.p1 p:first').css('color','red');//第一个
// $('.p1 p:last').css('color','red');//最后一个
// $('.p1 p:even').css('color','red'); //偶数
// $('.p1 p:lt(2)').css('color','red'); //小于
// $('.p1 p:gt(2)').css('color','red'); //大于 // 属性选择器
// $('[alex]').css('color','red'); //属性名查找
// $('[alex="123"]').css('color','red');//key=value查找
// $("[alex='123'][peiqi='678']").css('color','red');//注意引号区分,多属性之间用[]区分,属性之间不能用空格 //表单选择器
// $(':checkbox');//获取到复选框的输入标签jquery对象
// $('[type="checkbox"]'); </script>
</body>
</html>

选择器演示示例代码

  注意:jquery下载好,并加载好,再交给浏览器解析.

四、筛选器进阶

  1、取文本方法

取值------------------------------------------------------------------
$('选择器')eq(2).html(); 获取第二个元素内部的html文本(包含标签);
$('选择器')eq(2).text();只获取第二个元素中的文本内容;
赋值------------------------------------------------------------------
$('选择器')eq(2).html('值'); html文本形式替换标签中的内容;
$('选择器')eq(2).text('值'); 字符串形式替换内容;

  

  2、过滤筛选器

$("li").eq(2)  //选择第二个元素
$("li").first() //获取到第一个元素
$("ul li").hasclass("test") //判断是否有class='test'属性,按照or判断,有就返回True
$(".c3:"+"eq("+index+")") ;
1、结果是一个dom对象;
2、需要做字符串的拼接;
如:var index=3;
$(".c3:"+"eq("+index+")").css("color","red"); $(".c3").eq(index)
1、结果是一个$对象;
2、不需要拼接,比较好用;
如:var index=3;
$(".c3").eq(index).css("color","red");

$(' :eq(index)')与$(' ').eq(indext)对比

  3、查找选择器(导航选择器)

        // 子--子孙
// $('.c9').children('p').css('color','red');//找所有的儿子里面的p标签
// $('.c9').find('p').css('color','red');//找子孙后代所有的p标签
// $(".p1").children(":first").css("color","red");
//$(".p1").children().first().css("color","red");
//兄弟(next)
// $('#i2').next().css('color','red');//找i2下一个兄弟标签
// $('#i2').nextAll().css('color','red');//找i2下面所有的兄弟标签
// $('#i2').nextUntil('.c8').css('color','red');//选择直到.c8位置的兄弟标签,去头去尾取中间
//兄弟(prev)
// $('#i2').prev().css('color','red');//找i2先前的一个兄弟标签
// $('#i2').prevAll().css('color','red');//找i2先前所有的兄弟标签
// $('#i2').prevUntil('#i3').css('color','red');//选择直到#i3位置的兄弟标签,去头去尾 //父亲(parent)
// $('#i2').parent().css('color','red');//找i2的父亲标签
//$('#i2').parents('可以给定条件').css('color','red');//找i2的祖先标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery</title>
</head>
<body>
<div class="c1" id="i1">DIV</div> <div class="c2">
<p class="c4">111</p>
<a href="">click</a>
</div>
<div class="p1">
<p class="c3" id="i3">222</p>
<p class="c3">333</p>
<p class="c3" id="i2">444</p>
<div>
<p>孙子</p>
</div>
<p class="c3">555</p>
<p class="c3 c8">666</p>
<p class="c3">777</p>
<p class="c3">888</p>
</div> <div alex="123" peiqi="678">alex和配齐</div>
<div alex="123">alex</div>
<div alex="234">egon</div>
<div peiqi="678">8888</div>
<div class="c5">
<input type="checkbox" name='in' value='456'>111
<input type="checkbox" name='in' checked="checked">222
<input type="checkbox" name='in'>333
</div>
<select>
<option value="1">Flowers</option>
<option value="2" selected="selected">Gardens</option>
<option value="3" selected="selected">Trees</option>
</select> <hr> <div class="c6" yuan="123">123</div>
<div class="c7" yuan="234">234</div> <div class="c9">
<p>111</p>
<p>222</p>
<div class="c10">
<p>333</p>
</div>
<a href="">click</a>
</div> <script src='jquery 3.3.1.js'></script>//引入jQuery代码(模块)
<script type="text/javascript">
//写自己的js或者jquery代码
// 基本选择器
// $('*').css('color','red');//通用选择器,选择所有
// $('p').css('color','green');//元素选择器
// $('#i1').css('color','red');//ID选择器
// $('.c3').css('color','red');//类选择器 //层级选择器
// $('.p1 p').css('color','red');//子孙选择器
// $('.p1>p').css('color','red');//儿子选择器
// $('.c8+p').css('color','red');//毗邻选择器,只选择挨着的第一个指定标签
// $('.c8~p').css('color','red');//弟弟选择器 //基本筛选器
// $('.p1 p:eq(3)').css('color','red');//选择索引为3的那个标签,返回值为dom对象
// $('.p1 p:first').css('color','red');//第一个
// $('.p1 p:last').css('color','red');//最后一个
// $('.p1 p:even').css('color','red'); //偶数
// $('.p1 p:lt(2)').css('color','red'); //小于
// $('.p1 p:gt(2)').css('color','red'); //大于 // 属性选择器
// $('[alex]').css('color','red'); //属性名查找
// $('[alex="123"]').css('color','red');//key=value查找
// $("[alex='123'][peiqi='678']").css('color','red');//注意引号区分,多属性之间用[]区分,属性之间不能用空格 //表单选择器
// $(':checkbox');//获取到复选框的输入标签jquery对象
// $('[type="checkbox"]'); // 筛选器进阶
// $(".p1 p").eq(1);//获取到的结果依旧是一个jquery对象
// $(".p1 p").eq(1).text();
// $('.p1 p').ep(2).html(); // 以下较为麻烦,需要做字符串的拼接
// var index=3;
// $(".c3:"+"eq("+index+")").css("color","red");
// $(".c3").eq(index).css("color","red");
// console.log($('.c8').hasclass('t1'));//是否存在class='t1',如果存在返回True; // 导航查找
// 子--子孙
// $('.c9').children('p').css('color','red');//找所有的儿子里面的p标签
// $('.c9').find('p').css('color','red');//找子孙后代所有的p标签
// $(".p1").children(":first").css("color","red");
//$(".p1").children().first().css("color","red");
//兄弟(next)
// $('#i2').next().css('color','red');//找i2下一个兄弟标签
// $('#i2').nextAll().css('color','red');//找i2下面所有的兄弟标签
// $('#i2').nextUntil('.c8').css('color','red');//选择直到.c8位置的兄弟标签,去头去尾取中间
//兄弟(prev)
// $('#i2').prev().css('color','red');//找i2先前的一个兄弟标签
// $('#i2').prevAll().css('color','red');//找i2先前所有的兄弟标签
// $('#i2').prevUntil('#i3').css('color','red');//选择直到#i3位置的兄弟标签,去头去尾 //父亲(parent)
// $('#i2').parent().css('color','red');//找i2的父亲标签
//$('#i2').parents('可以给定条件').css('color','red');//找i2的祖先标签 </script>
</body>
</html>

属性操作与选择器演示代码

五、事件绑定

绑定事件的语法:
$('选择器 ').事件(function()
{
执行的代码;
})
注意:内部的this是dom对象;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>添加一个元素</title>
</head>
<body>
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
<button >点击添加</button>
<script src='jquery 3.3.1.js'></script>
<script type="text/javascript"> //给button添加点击事件
$('button').click(function (){
$('ul').append('<li>444</li>');
})
//给li标签添加点击事件
$('li').click(function(){
//内部的this是一个dom对象
alert($(this).text());
})
</script> </body> </html>

low版事件绑定示例

  注意:我们这个绑定的示例,新增添的<li>444</li>标签没有点击事件,这不是我们想要的,所以我们需要学习高级一点的绑定事件,事件绑定+事件委派;

六、事件绑定与委派(推荐使用此方法绑定事件)

绑定事件+委派的语法:
父项$.on('事件','需要委派的标签',function()
{
执行的代码;
})
注意:内部的this是dom对象;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>添加一个元素</title>
</head>
<body>
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
<button >点击添加</button>
<script src='jquery 3.3.1.js'></script>
<script type="text/javascript"> //给button添加点击事件
$('button').click(function (){
$('ul').append('<li>444</li>');
})
//通过父项绑定事件并委派事件
$('ul').on('click','li',function(){
//内部的this是一个dom对象
alert($(this).text());
}) </script> </body> </html>

升级版事件绑定示例

七、属性操作(补充)

        1 文本操作
$("").html()
$("").text()
$("").html("参数")
$("").text("参数")
2 属性操作
$().attr("")
$().attr("","")
$("p").attr("alex")
$("p").attr("alex","dsb")
$("p").removeAttr("class") 3 class 操作
$("p").addClass("c1")
$("p").removeClass("c1")

八、实例补充

$(function(){
jquery代码 }) 代码先把文档所有的内容加载完;
再执行 $( ) 括号里面的代码
jquery的链式结构:表示的是当jquery调用方法时,代码的返回值还是当前的jquery对象;

 $(this).next().removeClass("hide");
该代码返回值是$(this).next();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左侧栏</title>
<style type="text/css">
body{
margin:0;
padding: 0;
}
ul{
margin: 0;
}
aside{
width: 20%;
height: 800px;
background-color: #BFA372FF;
}
button{
display: inline-block;
height: 50px;
width:100%;
line-height: 50px;
background-color: #29C2D0FF;
color:white;
font-size: 20px;
text-align: center;
margin-top:2px; }
.hide{
display:none;
}
</style>
<script src='jquery 3.3.1.js'></script>
<script type="text/javascript">
$( function(){
$('button').on('click',function(){
$(this).next().removeClass('hide');
$(this).parent().siblings().children('aside .nav').addClass('hide');
}) }) </script>
</head>
<body>
<aside>
<div>
<button class='title'>第一章</button>
<ul class='nav hide'>
<li>111</li>
<li>111</li>
<li>111</li>
</ul>
</div>
<div>
<button class='title'>第二章</button>
<ul class='nav hide'>
<li>222</li>
<li>222</li>
<li>222</li>
</ul>
</div>
<div>
<button class='title'>第三章</button>
<ul class='nav hide'>
<li>333</li>
<li>333</li>
<li>333</li>
</ul>
</div>
</aside> </body>
</html>

左侧菜单栏jquery实例

 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>导航图</title>
<style type="text/css">
div{
margin-top: 15px;
width:600px;
height: 200px;
line-height: 200px;
background-color: #32A6CCFF;
text-align:center; }
ul{
margin: 0;
padding: 0;
font-size: 0; }
ul li{
display: inline-block;
line-height: 200px;
font-size: 38px;
text-align: center;
width: 200px;
}
.c1{
background-color: #A662D2FF;
}
.hide{
display:none;
}
</style>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script type="text/javascript"> $(function(){
$('li').on('click',function(){
$(this).css('color','white');
$(this).css('background-color','#E95469FF');
$(this).siblings().css('background-color',' #32A6CCFF');
$(this).siblings().css('color','black'); // alert($(this).val());
let value=$(this).val()
let dis_arr=$(this).parents().parent().siblings();
dis_arr.addClass('hide');
dis_arr.eq(value).removeClass('hide'); })
})
</script>
</head>
<body>
<div>
<ul>
<li class='nav' value="1">第一章</li>
<li class='nav' value="2">第二章</li>
<li class='nav' value='3'>第三章</li>
</ul>
</div>
<div class='hide c1'><h1>123</h1></div>
<div class='hide c1'><h1>456</h1></div>
<div class='hide c1'><h1>789</h1></div> </body>
</html>

tab表单切换jQuery实现

 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title> </head>
<body> <button>全选</button>
<button>取消</button>
<button>反选</button>
<hr>
<table border="1">
<tr>
<td><input type="checkbox"></td>
<td>111</td>
<td>111</td>
<td>111</td>
<td>111</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>222</td>
<td>222</td>
<td>222</td>
<td>222</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>333</td>
<td>333</td>
<td>333</td>
<td>333</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>444</td>
<td>444</td>
<td>444</td>
<td>444</td>
</tr>
</table> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
$('button').on('click',function(){
switch($(this).text()){
case '全选':
$('[type="checkbox"]').prop('checked','checked');
break;
case '取消':
$('[type="checkbox"]').prop('checked',false);
break;
case '反选':
$("table :checkbox").each(function(){
$(this).prop("checked",!$(this).prop("checked"));
})
break;
default:console.log(123);
break; }
}) // $("button").click(function(){ // if($(this).text()=="全选"){ // $(this)代指当前点击标签 // $("table :checkbox").prop("checked",true)
// }
// else if($(this).text()=="取消"){
// $("table :checkbox").prop("checked",false)
// }
// else {
// $("table :checkbox").each(function(){ // $(this).prop("checked",!$(this).prop("checked")); // });
// } // }); </script>
</body>
</html>

table反选操作prop的使用

jquery 选择器、筛选器、事件绑定与事件委派的更多相关文章

  1. jQuery 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each、data、Ajax

    jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方 ...

  2. jquery选择器筛选器

    jQuery对象 Query 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 jQuery 里 ...

  3. JQuery 选择器 筛选器

    什么是jQuery对象 参考:http://jquery.cuishifeng.cn/css.html jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQue ...

  4. jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

    jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...

  5. JS 事件绑定、事件监听、事件委托详细介绍

    原:http://www.jb51.net/article/93752.htm 在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定.事件监听.事件委托(事件代 ...

  6. JS 中的事件绑定、事件监听、事件委托是什么?

    在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定.事件监听.事件委托(事件代理)等.这些名词是什么意思呢,有什么作用呢? 事件绑定 要想让 JavaScri ...

  7. JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE

    转载请注明出处:http://www.cnblogs.com/zhangmingze/p/4864367.html   ● 事件分为三个阶段:   事件捕获 -->  事件目标 -->   ...

  8. 理解Javascript中的事件绑定与事件委托

    最近在深入实践js中,遇到了一些问题,比如我需要为动态创建的DOM元素绑定事件,那么普通的事件绑定就不行了,于是通过上网查资料了解到事件委托,因此想总结一下js中的事件绑定与事件委托. 事件绑定   ...

  9. 事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE

    ● 事件分为三个阶段:   事件捕获 -->  事件目标 -->  事件冒泡 ● 事件捕获:事件发生时(onclick,onmouseover……)首先发生在document上,然后依次传 ...

随机推荐

  1. cmake安装配置及入门指南

    前言 今天,从github下载代码学习,让我用cmake编译,纳尼?make我知道,cmake是啥鬼?天啊,无知很可怕!赶紧mark一波,虽然很耽误学习进度,但感觉还是要get一波! 一.安装准备 感 ...

  2. ES6躬行记(12)——数组

    ES6为数组添加了多个新方法,既对它的功能进行了强化,也消除了容易产生歧义的语法. 一.静态方法 1)of() ES6为Array对象新增的第一个静态方法是of(),用于创建数组,它能接收任意个参数, ...

  3. eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis

    接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...

  4. 我是这样理解HTTP和HTTPS区别的

    为何要用https? http协议的缺点 通信使用明文,内容可能被窃听(重要密码泄露) 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造) 无法证明报文的完整性,有可能已遭篡改(运营商劫持) 用htt ...

  5. 史上最走心webpack4.0中级教程——配置之外你应该知道的事

    <webpack4.0各个击破系列>适合不满足于只会配置webpack但一时间又看不懂源码的中级读者.我没法保证这个系列是最好的,但至少能保证每一篇博文都跟那些Ctrl+C和Ctrl+V的 ...

  6. 触发器 评论折叠显示(jquery)

    触发器   评论折叠显示(jquery)   子页面 : @if(Model?.count>0) {      var i=1;      var n=model.count-2      va ...

  7. sql字符串包含单引号

    ad'min select  * from user where name ='ad''min'

  8. MySQL单行函数

    1.CONCAT(str1,str2,...) 返回来自于参数连结的字符串.如果任何参数是NULL,返回NULL.可以有超过2个的参数.一个数字参数被变换为等价的字符串形式.  select CONC ...

  9. dogse入门指南

    dogse入门指南 Dogse作为游戏服务端引擎,目前只包含游戏服务端的核心部分,但这也是最核心的部分.它全部使用.net c#开发,充分兼顾了程序性能与代码编写的准确性与易用性,再加上以vs作为开发 ...

  10. Java开发笔记(七十)Java8新增的几种泛型接口

    由于泛型存在某种不确定的类型,因此很少直接运用于拿来即用的泛型类,它更经常以泛型接口的面目出现.例如几种基本的容器类型Set.Map.List都被定义为接口interface,像HashSet.Tre ...