jQuery基础使用

第一章 初识jQuery

  • jQuery概述

jQuery是一个快速、简洁的JavaScript代码库。jQuery设计的宗旨是"Write Less,Do More",即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript操作方式,优化HTML文档操作、事件处理、动画设计和Ajax交互.
  • jQuery的优势

 - 轻量级
- 强大的选择器
- 出色的 DOM 操作的封装
- 可靠的事件处理机制
- 完善的 Ajax
- 出色的浏览器兼容性
- 链式操作方式
  • jQuery的环境配置

    • 引入jQuery库文件

<script src="jquery-1.12.2.min.js"></script>
    • CDN引入

CDN的全称是Content Delivery Network,即[内容分发网络](https://baike.baidu.com/item/内容分发网络/4034265), 使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率
CDN地址:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
  • jQuery入门HelloWorld

<script type="text/javascript">
/*
  $: jQuery核心函数名
  $(): jQuery核心函数
  function(){}: 匿名函数,可以作为参数传递给jQuery的核心函数,类似于我们Java的Lamda表达式
  作用: 当前的.html文件加载完成之后执行此函数
    */
$(function(){
console.log("Hello jQuery!!!");
});

</script>
  • jQuery对象

1、jQuery对象就是通过jQuery核心对象包装了DOM对象后产生的对象
2、jQuery对象是jQuery独有的.如果一个对象是jQuery对象,那么它就可以使用jQuery里的方法
3、jQuery 对象无法使用 DOM 对象的任何方法, 同样 DOM 对象也不能使用jQuery里的任何方法
4、jQuery的命名一般情况会在变量名称前加$

怎么获取jQuery对象呢? ↓↓↓↓↓↓ 继续 ↓↓↓↓↓↓

第二章 jQuery的选择器/以及CSS样式(jQuery文档使用)

第一节 常见选择器

1.1 基本选择器1

  • ID选择器

<button id="btn">按钮元素</button>

//通过ID获取元素对象,使用jQuery核心函数获取的对象是jQuery对象,ID选择器语法特点使用#作为标识
$("#btn");
  • 标签选择器

<div>DIV1</div>
<div>DIV2</div>

//使用标签名称获取元素对象,因为一个页面相同标签名称会有多个,多个标签选择器查询结果是多个
$("div");
  • 类选择器

<div class="myClass">div class="myClass"</div>
<span class="myClass">span class="myClass"</span>
//类选择器,标识是前面加一个点(.),查询结果是多个
$(".myClass");
  • 分组选择器

<div>div</div>
<p class="myClass">p class="myClass"</p>
<span>span</span>
<p class="notMyClass">p class="notMyClass"</p>
//查询结果多个,可以使用标签元素查询,ID查询,类查询组成一组的语法格式
$("div,span,p.myClass")
  • 通配

<div>DIV</div>
<span>SPAN</span>
<p>P</p>
//查询全部
$("*");

1.2 层级选择器

  • 后代选择器

<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />

// form表单下的所有input元素
$("form input")
  • 子类选择器

<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />

//form表单下的一级子元素
$("form > input")
  • prev + next

<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />

//匹配所有紧接在 label 元素后的 input 元素
$("label + input")
  • prev ~ siblings

<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />

//匹配 form 元素之后的所有 input 元素
$("form ~ input")

1.3 基本选择器2

  • :even

匹配所有索引值为奇数的元素,从 0 开始计数
查找表格的1、3、5...行(即索引值0、2、4...)

  • :odd

匹配所有索引值为偶数的元素,从 0 开始计数
查找表格的2、4、6行(即索引值1、3、5...)

<table border="1">
	<thead>
		<tr>
			<th>收费单位</th>
			<th>付款方式</th>
			<th>结算方式</th>
			<th>状态</th>
		</tr>
	</thead>
	<tbody>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
	</tbody>
</table>


<script type="text/javascript">
	$(function(){
		$("tbody tr:even").css("background-color","red");
		$("tbody tr:odd").css("background-color","green");
	});
</script>

1.4 可见性

  • :hidden

<table>
  <tr style="display:none"><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>

//获取隐藏的tr元素
$("tr:hidden")
------------------------------------
<form>
  <input type="text" name="email" />
  <input type="hidden" name="id" />
</form>

//获取隐藏的input元素
$("input:hidden");
  • :visible

<table>
  <tr style="display:none"><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>

//查看所有可见的tr元素
$("tr:visible")

1.5 属性选择器

  • [attribute]

<div>
  <p>Hello!</p>
</div>
<div id="test2"></div>

//获取带有属性ID的div元素
$("div[id]")
  • [attribute=value]

<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" />

//获取name属性值为newsletter的所有input元素
$("input[name='newsletter']");

1.6 表单属性

  • :checked

<form>
  <input type="checkbox" name="newsletter" checked="checked" value="Daily" />
  <input type="checkbox" name="newsletter" value="Weekly" />
  <input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
</form>

//获取被选中的input标签
$("input:checked")
  • :selected

<select>
  <option value="1">Flowers</option>
  <option value="2" selected="selected">Gardens</option>
  <option value="3">Trees</option>
</select>

//获取select元素下的被选中的option后代标签
$("select option:selected")

1.7 筛选

  • not(expr|ele|fn)

<p>Hello</p><p id="selected">Hello Again</p>

//排除ID为selected的p元素
$("p").not( $("#selected")[0])
  • parent([expr])

<div><p>Hello</p><p>Hello</p></div>

//获取父类元素
$("p").parent()

第二节 常见的事件

  • blur([[data],fn])

当元素失去焦点时触发 blur 事件
  • click([[data],fn])

触发每一个匹配元素的click事件
  • focus([[data],fn])

当元素获得焦点时,触发 focus 事件
  • 事件的绑定方式

<button id="btn">绑定事件</button>

//方式一
$("#btn").click(function(){
	alert("测试绑定事件");
});

//方式二
$("#btn").on("click",function(){
	console.log(this);
});

//方式三
$("#btn").bind("click",function(){
	console.log(this);
});

第三节 属性操作以及CSS样式操作

  • 3.1 html代码/文本/值

1. html([val|fn]) -> 获取/设置元素的HTML内容,和innerHTML功能相同
2. text([val|fn]) -> 获取/设置元素的text内容

<span></span>
<button id="btn">绑定事件</button>

$("#btn").bind("click",function(){
	/* $("span").html("<h1>这是html</h1>"); */
	$("span").text("<h1>这是html</h1>");
});
  • 3.2 CSS 类

addClass(class|fn) -> 为每个匹配的元素添加指定的类名


<style type="text/css">
	.sClass{
		font-size: 24px;
		color: red;
	}
</style>

<span>这是html</span>
<button id="btn">绑定事件</button>

$("#btn").bind("click",function(){
	$("span").addClass("sClass");
});
  • 3.2 css(name|pro|[,val|fn])

<span class="sClass">这是html</span>
<button id="btn">绑定事件</button>

$("#btn").bind("click",function(){
	$(".sClass").css({
		"font-size":"200px",
		"color":"red"
	});
});

第四节 隔行换色练习

  • HTML代码

<table border="1">
	<thead>
		<tr>
			<th>收费单位</th>
			<th>付款方式</th>
			<th>结算方式</th>
			<th>状态</th>
		</tr>
	</thead>
	<tbody>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
		<tr><td>**教育xx分公司</td><td>手机</td><td>支付宝</td><td>已付款</td></tr>
	</tbody>
</table>
  • jQuery代码

$("tbody tr:even").css("background-color","red");
$("tbody tr:odd").css("background-color","green");

第三章 jQuery的DOM对象和jQuery对象的转换

<button id="btn">我是一个按钮</button>

//使用jQuery选择器获取jQuery对象
var $btn = $("#btn");
console.log($btn);
//将jQuery对象转换成DOM对象
console.log($btn[0]);//方式一
console.log($btn.get(0)); //方式二
//将DOM对象转成jQuery对象
console.log($($btn[0]));

第四章 jQuery节点创建

<table border="1"></table>

//创建<tr></tr>
var trEle = $("<tr></tr>");
var thEle1 = $("<th>ID</th>");
var thEle2 = $("<th>名字</th>");
var thEle3 = $("<th>性别</th>");
trEle.append(thEle1);
trEle.append(thEle2);
trEle.append(thEle3);
var trEle2 = $("<tr></tr>");
var tdEle1 = $("<td>1001</td>");
var tdEle2 = $("<td>张三</td>");
var tdEle3 = $("<td>男</td>");
trEle2.append(tdEle1);
trEle2.append(tdEle2);
trEle2.append(tdEle3);
console.log(trEle[0]);
$("table").append(trEle);
$("table").append(trEle2);

第五章 jQuery的效果

  • 基本

1、show  -> 展示
2、hide -> 隐藏

第六章 全选/全不选练习

  • HTML代码

<body>
<form action="#" method="post">
  你爱好的运动?
  <input type="checkbox" id="checkedAllBox"/>全选/全不选
  <br />
  <input type="checkbox" name="items" id="" value="足球" />足球
  <input type="checkbox" name="items" id="" value="篮球" />篮球
  <input type="checkbox" name="items" id="" value="羽毛球" />羽毛球
  <input type="checkbox" name="items" id="" value="乒乓球" />乒乓球
  <br />
  <input type="button" name="" id="checkAllBtn" value="全 选" />
  <input type="button" name="" id="checkNoBtn" value="全不选" />
  <input type="button" name="" id="checkRevBtn" value="反 选" />
  <input type="button" name="" id="sendBtn" value="提 交" />
</form>
</body>
  • JS代码

$(function(){

//获取全选按钮
var checkAllBtn = $("#checkAllBtn");
//给全选按钮绑定单击事件
checkAllBtn.click(function(){
//给所有name属性是items的选中
var items = $("input[name='items']");
console.log("全选");
for(var i=0;i<items.length;i++){
items[i].checked=true;
}
//全选按钮选中
$("#checkedAllBox")[0].checked=true;
});
//全不选
var checkNoBtn = $("#checkNoBtn");
checkNoBtn.click(function(){
//给所有name属性是items的选中
var items = $("input[name='items']");
console.log("全不选");
for(var i=0;i<items.length;i++){
items[i].checked=false;
}
//全不选按钮选中
$("#checkedAllBox")[0].checked=false;
});

//反选
var checkRevBtn = $("#checkRevBtn");
checkRevBtn.click(function(){
var items = $("input[name='items']");
console.log("反选");
for(var i=0;i<items.length;i++){
items[i].checked=!items[i].checked;
}
//默认全选勾上
$("#checkedAllBox")[0].checked=true;
for(var i=0;i<items.length;i++){
//如果有一个没选上就勾掉全选
if(!items[i].checked){
$("#checkedAllBox")[0].checked=false;
break;
}
}
});

//提交
var sendBtn = $("#sendBtn");
sendBtn.click(function(){
var items = $("input[name='items']");
console.log("提交");
for(var i=0;i<items.length;i++){
if(items[i].checked){
alert(items[i].value)
}
}
});

//全选/全不选
var checkedAllBox = $("#checkedAllBox");
checkedAllBox.click(function(){
var items = $("input[name='items']");
for(var i=0;i<items.length;i++){
items[i].checked=checkedAllBox[0].checked;
}
});

//items
var items = $("input[name='items']");
for(var i=0;i<items.length;i++){
$(items[i]).click(function(){
//默认全部选中
checkedAllBox[0].checked=true;
for(var j=0;j<items.length;j++){
if(!items[j].checked){
checkedAllBox[0].checked=false;
break;
}
}
});
}
});J
posted @ 2021-01-24 16:40  Super-然  阅读(109)  评论(0)    收藏  举报