一. jQuery
1.模块 《=》类库 ,jQuery----DOM的一个类库。
2.查找元素
---DOM:
---jQuery:
---选择器:
---筛选:
注: 1. jQuery版本:1.x 兼容性高(推荐使用1.12);2.x;3.x
jQuery安装:1)jquery.com 官网下载; 2)把.js文件放到HTML同级目录下即可。
2.引用:

在HTML中引用CSS样式时,用link链接到同级目录下的css文件即可;
也可以在HTML中:<style><style>编写样式;(两种方式)
在HTML中引用 .js 文件时,用script 引用同级目录下的 .js 文件;
也可以在HTML中:<script><script>编写代码;(两种方式)
注:<style>一般放在头部,<script>一般放在尾部
3.调用jQuery中的方法有两种方式: jQuery.方法名;
$.方法名。
3.操作元素
3.1获取标签:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="i1">123</div>
<script scr="jquery-1.12.4.js"></script>
<script>
$("#i1")
// 相当于document.getElementById("i1")
</script>
</body>
</html>
问:DOM中通过document.getElementById("i1")获取的标签与jQuery中用 $("#i1") 获取的标签,两种方式有什么区别?
答:jQuery中其实封装是DOM的方式去获取的标签,$("#i1") [0]获取的内容和document.getElementById("i1")获取的内容是一模一样的(可以通过这个方式互相转换)。由此看来$("#i1")获取的内容要比document.getElementById("i1")获取的内容多.
转换:jQuery对象------->DOM 对象:$("#i1") [0];
DOM 对象--------->jQuery对象 :d = document.getElementById("i1")
$(d);
问:转换有什么作用?
答:当jQuery中封装的内容没有我们想要的时候,可以把jQuery对象转换为DOM 对象,然后我们再编写我们需要的原生态的代码。
3.2 jQuery选择器
作用:直接找到某个或某类标签
1)id
$("#id")
2) class
<div class='c1'><div>
$(".c1")
3) 标签
<div class="c1">
<a>e</a>
<a>f</a>
</div>
<div class="c2">
<a>r</a>
</div>
$("a"):即可找到所有的a标签。
4)组合选择器
$("a,.c2");找到所有a标签和c2。
5)层级选择器
$("#i10 a"):id=10标签下的a标签。(空格:子子孙孙)
$("#i10>a"):id=10标签下的儿子a标签。(> :儿子辈)
6)基本选择器
:first
:last
:eq()
7) 属性
<div xiaolaizi="123">
<a>e</a>
<a>f</a>
</div>
<div xiaolaizi="456">
<a>r</a>
</div>
$("[xiaolaizi]") :具有xiaolaizi属性的所有标签;
$('[xiaolaizi="123"]') : xiaolaizi属性值3为123的标签;
8)表单选择器
<input type="text" />
<input type="file" />
<input type="password" />
$('input[type="text"]'):属性的方法,用表单的方法为: $(:"text")
可查看:http://jquery.cuishifeng.cn/ jQuery中文文档
3.3示例1
<!--全选,反选,取消操作实例-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="button" value="全选" onclick="checkAll();" />
<input type="button" value="反选" onclick="reverseAll();"/>
<input type="button" value="取消" onclick="cancelAll();"/>
<table border="1">
<thead>
<tr>
<th>选项</th>
<th>IP</th>
<th>PORT</th>
</tr>
</thead>
<tbody id="tb">
<tr>
<td><input type="checkbox" /></td>
<td>1.1.1.1</td>
<td>80</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>1.1.1.1</td>
<td>80</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>1.1.1.1</td>
<td>80</td>
</tr>
</tbody>
</table>
<script src="jquery-1.12.4.js"></script>
<script>
function checkAll() {
$('#tb:checkbox').prop('checked',true)
}
function cancelAll() {
$('#tb:checkbox').prop('checked',false)
}
function reverseAll() {
//这里的each会循环每一个checkbox,而不用再去写for循环,这是jquery帮我们写好的。
$(':checkbox').each(function (k) {
//k :当前索引
//console.log(k)
//this,代指当前循环的每一个元素,且是DOM对象。是什么对象可以根据输出的形式去判断,用[ ]括起来的是jquery对象,< >的是DOM对象;
//console.log(this);
//反选,首先判断是否已经被选中
//DOM方法
// if(this.checked){
// this.checked = false;
// }
// else{
// this.checked = true;
// }
//jquery方法
if($(this).prop('checked')){
//prop:一个参数是获取值,针对checked和selected做操作。
$(this).prop('checked', false);
//prop :两个参数是设置值;
}else{
$(this).prop('checked', true);
}
//js中的三元运算方法
//var v = 条件? 真值:假值
var v = $(this).prop('checked')? false:true;
$(this).prop('checked',v);
})
}
</script>
</body>
</html>
注:DOM中需要写for循环,而jquery中内置循环;
3.4 示例2——Tab菜单
筛选器:(http://jquery.cuishifeng.cn/)$(this).next() 下一级$(this).prev() 上一级$(this).parent() 父级$(this).children()$(this).siblings() 同级
$('#i1).find('#i1') 子子孙孙中查找
添加样式和移除样式:.addClass('hide').removeClass('hide')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.header{
background-color:burlywood;
color: blue;
}
.content{
min-height: 50px;
}
.hide{
display: none;
}
</style>
</head>
<body>
<div style="height: 400px;width: 200px;border:1px solid black ">
<div class="item">
<div class="header">标题1</div>
<div class="content">内容1</div>
</div>
<div class="item">
<div class="header">标题2</div>
<div class="content hide">内容2</div>
</div>
<div class="item">
<div class="header">标题3</div>
<div class="content hide">内容3</div>
</div>
</div>
<!--//标题太多,一个一个去绑定事件不合适,这里在jQuery中绑定事件-->
<script src="jquery-1.12.4.js"></script>
<script>
$(".header").click(function () {
//匿名函数,当前点击的标签
//console.log(this);
//看一下格式 ,看获取到的是DOM对象还是jQuery对象
//$(this)
//DOm 对象转换为jQuery对象
//筛选器
$(this).next().removeClass('hide');
$(this).parent().siblings().find('.content').addClass('hide');
//上面两句话可以用一行代码搞定,
//jQuery中支持链式编程
$(this).next().removeClass('hide').parent().siblings().find('.content').addClass('hide');
})
</script>
</body>
</html>
模态编程框中
3.5 文本操作
$( ).text( ) #获取文本内容;
$( ).text(" ") #设置文本内容;
$( ).html( ) #获取标签内容;
$( ).html(" ") #设置标签内容;
$( ).val(" ")
$( ).val(" ")
3.6 样式操作
addClass
removeClass
toggleClass
3.7 属性(标签)操作
$(..).attr() :专门用于做标签上的自定义属性;
: 传一个参数,是获取属性;传两个参数,是添加属性;
$(..)removeAttr( ): 删除属性;
$(..).prop():专门用于checkbox,radio ;checkbox用attr()版本不同时会出现bug;
:传一个参数是获取值,传两个参数是修改或者添加值;
PS: index 获取索引位置。
3.8 CSS 处理
$('t1').css( '样式名' ,'样式值' );
点赞:
----$('t1').append():
----setInterval :定时器;
3.9 位置
$(window).scrolltop() :没有参数,获取值;
$(window).scrolltop(0) :有参数,设置值(移动到设置的位置);window窗口,为对象,且只有一个。
scrollLeft() :
offset().top :指定标签在html中的坐标 ;
offset().left :
position() : 指定的标签相对父标签的坐标。
3.10 尺寸
height()
innerHeight()
outerHeight()
outerHeight(true)
// 纯高度,边框,外边距,内边距
3.10 阻止事件发生:
return false;
ps: 当页面框架加载完成之后,自动执行(自执行函数)。
$(function)(){
}
来源:https://www.cnblogs.com/bltstop/p/10740467.html