自学内容网 自学内容网

jQuery基础

1、目标

了解jQuery介绍

掌握调用jQuery的方式

掌握jQuery选择器的使用方式

了解jQuery和原生javascript在使用上的区别

2、jQuery

1、jQuery简介

jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装

它的设计思想是write less,do more

2、jQuery的作用

访问和操作DOM元素

控制页面样式

对页面事件进行处理

扩展新的jQuery插件

与Ajax技术完美结合

3、jQuery的优势

体积小,压缩后只有100KB左右

强大的选择器

出色的DOM封装

可靠的事件处理机制

出色的浏览器兼容性

使用隐式迭代简化编程

丰富的插件支持

4、jQuery库文件

jQuery库分开发版和发布版

名称

大小

说 明

jquery-3.版本号.js(开发版)

286KB

完整无压缩版本,主要用于测试、学习和开发

jquery-3.版本号.min.js(发布版)

94.8KB

经过工具压缩或经过服务器开启Gzip压缩,主要应用于发布的产品和项目

//引入方式
<script src="js/jquery-3.3.1.min.js" type="text/javascript"></script>

5、jQuery基本语法

使用jQuery弹出提示框

<script>
    //为页面加载事件绑定方法
     $(document).ready(function() {
        alert("我欲奔赴沙场征战jQuery,势必攻克之!");
    });
</script>

$(document).ready()

$(document).ready()与window.onload类似,但也有区别


 

window.onload

$(document).ready()

执行时机


 

必须等待网页中所有的内容加载完毕后(包括图片、flash、视频等)才能执行


 

网页中所有DOM文档结构绘制完毕后即刻执行,可能与DOM元素关联的内容(图片、flash、视频等)并没有加载完

编写个数

同一页面不能同时编写多个

同一页面能同时编写多个

简化写法

$(function(){

//执行代码

}) ;

6、jQuery选择器

jQuery语法

jQuery语法是为HTML元素的选取编制的,可以对元素执行某些操作

基础语法:

$(selector).action()

jQuery基本选择器

基本选择器包括标签选择器、类选择器、ID选择器、并集选择器、全局选择器

名称

语法构成

描述

示例

标签选择器

element

根据给定的标签名匹配元素

$("h2" )选取所有h2元素

类选择器

.class

根据给定的class匹配元素

$(" .title")选取所有classtitle的元素

ID选择器

#id

根据给定的id匹配元素

$(" #title")选取idtitle的元素

并集选择器

selector1,selector2,...,selectorN

将每一个选择器匹配的元素合并后一起返回

$("div,p,.title" )选取所有divp和拥有classtitle的元素

全局选择器

*

匹配所有元素

$("*" )选取所有元素

标签选择器

标签选择器根据给定的标签名匹配元素

$(document).ready(function(){
  //设置标签dd中的内容显示出来
    $("dt").click(function(){
        $("dd").css("display","block"); 
    });
      //设置h1标签中的字体颜色
    $("h1").css("color","blue");
})
类选择器

类选择器根据给定的 class匹配元素

//设置class为price元素的背景颜色和内边距
$(".price").css({"background":"#efefef","padding":"5px"});
ID选择器

ID选择器根据给定的id匹配元素

//设置id为author的元素的字体颜色
$("#author").css("color","#083499");

并集选择器

并集选择器用来合并元素集合

$(".intro,dt,dd").css("color","#ff0000");
全局选择器

全局选择器可以获取所有元素

//设置所有元素的字体加粗显示
$("*").css("font-weight","bold");

实例代码

$(document).ready(function(){
    $("dt").click(function(){
        $("dd").css("display","block");
    });
    $("h1").css("color","blue")
    //设置class为price元素的背景颜色和内边距,类选择器
    $(".price").css({"background":"#efefef","padding":"5px"})
    //设置id为author的元素的字体颜色,id选择器
    $("#author").css({"color":"#083499"})
    //并集选择器
    $(".intro,dt,dd").css("color","#ff0000")
    //全局选择
    $("*").css({"font-weight":"bold"})
})

html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>图书简介</title>
    <link rel="stylesheet" href="css/bookStyle.css">
</head>
<body>
<section id="book">
    <div class="imgLeft"><img src="images/store.jpg" alt="岛上书店"></div>
    <div class="textRight">
        <h1>岛上书店【荐书联盟推荐】[The Storied Life of A.J.Fikry]</h1>
        <p class="intro">自营图书几十万畅销品种阶梯满减,抽奖赢魅蓝note3、JDRead阅读器!</p>
        <p id="author">[美] 加·泽文(Gabrielle Zevin) 著;孙仲旭,李玉瑶 译</p>
        <div class="price">
            <div id="jdPrice">京东价: <span>¥24.10</span> [6.9折] <p>[定价:<span>¥35.00</span>]</p> (降价通知)</div>
            <p id="mobilePrice">促销信息:<span>手机专享价</span> <span>¥9.90</span></p>
            <dl>
                <dt>以下促销可在购物车任选其一</dt>
                <dd><span>加价购</span> 满99.00元另加6.18元即可在购物车换购热销商品</dd>
                <dd><span>满减</span> 满100.00减20.00,满200.00减60.00,满300.00减100.00</dd>
            </dl>
            <p id="ticket">领 券:<span>105-6</span>  <span>200-16</span></p>
        </div>
    </div>
</section>
<script src="js/jquery-3.7.1.js"></script>
<script src="js/book.js"></script>
</body>
</html>

jQuery层次选择器

层次选择器通过DOM元素之间的层次关系来获取元素

名称

语法构成

描述

示例

后代选择器

ancestor descendant

选取ancestor元素里的所有descendant(后代)元素

$("#menu span" )选取#menu下的<span>元素

子选择器

parent>child

选取parent元素下的child(子)元素

$(" #menu>span" )选取#menu的子元素<span>

相邻元素选择器

prev+next

选取紧邻prev元素之后的next元素

$(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>

同辈元素选择器

prev~sibings

选取prev元素之后的所有siblings元素

$(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl>

后代选择器

后代选择器用来获取元素的后代元素

//设置class为textRight元素中的所有<p>
$(".textRight p").css("color","red");
子选择器

子选择器用来获取元素的子元素

$(".textRight>p").css("color","red");
相邻选择器

相邻选择器用来选取紧邻目标元素的下一个元素

 $("h1+p").css("text-decoration","underline")
同辈选择器

同辈选择器用来选取目标元素之后的所有同辈元素

$("h1-p").css("text-decoration","underline")

jQuery属性选择器

属性选择器通过HTML元素的属性来选择元素

语法构成

描述

示例

[attribute^=value]

选取给定属性是以某些特定值开始的元素

$(" [href^='en']" )选取href属性值以en开头的元素

[attribute$=value]

选取给定属性是以某些特定值结尾的元素

$(" [href$='.jpg']" )选取href属性值以.jpg结尾的元素

[attribute*=value]

选取给定属性是以包含某些值的元素

$(" [href* ='txt']" )选取href属性值中含有txt的元素

根据属性名获取元素

属性选择器可以根据是否包含某属性来选取元素

a标签带有class属性

$("#news a[class]").css("background","#c9cbcb");
根据属性值获取元素

属性选择器可以根据属性的值来选取元素

class属性值为hot

$("#news a[class='hot']").css("background","#c9cbcb");

属性选择器可以指定选取不等于属性是某个特定值的元素

class值不等于hot

$("#news a[class!='hot']").css("background","#c9cbcb");
根据属性值包含特定的值获取元素

属性选择器可以指定属性值以指定值开头的元素

a标签href属性值以www开头

$("#news a[href^='www']").css("background","#c9cbcb");

属性选择器可以指定属性值以指定值结尾的元素

a标签href属性值以html结尾

$("#news a[href$='html']").css("background","#c9cbcb");

属性选择器可以指定属性值包含指定值的元素

a标签href属性值包含“k2”的元素

$("#news a[href*='k2']").css("background","#c9cbcb");

过滤选择器

主要分类

基本过滤选择器

可见性过滤选择器

表单对象过滤选择器

内容过滤选择器、子元素过滤选择器

语法

描述

示例

:first

选取第一个元素

$(" li:first" )选取所有<li>元素中的第一个<li>元素

:last

选取最后一个元素

$(" li:last" )选取所有<li>元素中的最后一个<li>元素

:not(selector)

选取去除所有与给定选择器匹配的元素

$(" li:not(.three)" )选取class不是three的元素

:even

选取索引是偶数的所有元素(index0开始)

$(" li:even" )选取索引是偶数的所有<li>元素

:odd

选取索引是奇数的所有元素(index0开始)

$(" li:odd" )选取索引是奇数的所有<li>元素

语法

描述

示例

:eq(index)

选取索引等于index的元素(index0开始)

$("li:eq(1)" )选取索引等于1<li>元素

:gt(index)

选取索引大于index的元素(index0开始)

$(" li:gt(1)" )选取索引大于1<li>元素(注:大于1,不包括1

:lt(index)

选取索引小于index的元素(index0开始)

$(“li:lt(1)” )选取索引小于1<li>元素(注:小于1,不包括1

:header

选取所有标题元素,如h1~h6

$(":header" )选取网页中所有标题元素

:focus

选取当前获取焦点的元素

$(":focus" )选取当前获取焦点的元素

:animated

选择所有动画

$(":animated" )选取当前所有动画元素

可见性过滤选择器

通过元素显示状态来选取元素

语法

描述

示例

:visible

选取所有可见的元素

$(":visible" )选取所有可见的元素

:hidden

选取所有隐藏的元素

$(":hidden" ) 选取所有隐藏的元素

$("p:hidden").show();
$("p:visible").hide();

jQuery选择器注意事项

特殊符号转义

<div id="id#a">aa</div>

<div id="id[2]">cc</div>

获取两个元素的选择器

$("#id\\#a");

$("#id\\[2\\]");

选择器中的空格

选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果

选取class为test的元素内部的隐藏元素
var $t_a = $(".test :hidden"); //带空格的jQuery选择器
选取隐藏的class为test的元素
var $t_b = $(".test:hidden");  //不带空格的jQuery选择器

练习

练习一、制作图书简介页面

需求说明

使用基本选择器和层级选择器获取并设置页面元素

“自营图书几十万……”一行字体颜色为红色

京东价“¥24.10”字体为24px、红色加粗显示

“[定价:¥35.00]”字体颜色为#cccccc,价格中有中划线

<dl>标签中的字体颜色均为红色

单击“以下促销….”显示隐藏的内容,此部分字体颜色均为红色

“加购价”、“满减”、“105-5”、“200-16”字体颜色为白色,背景颜色为红色,上下内边距为1px,左右内边距为5px,外右边距为5px

html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>图书简介</title>
    <link rel="stylesheet" href="css/bookStyle.css">
</head>
<body>
<section id="book">
    <div class="imgLeft"><img src="images/store.jpg" alt="岛上书店"></div>
    <div class="textRight">
        <h1>岛上书店【荐书联盟推荐】[The Storied Life of A.J.Fikry]</h1>
        <p class="intro">自营图书几十万畅销品种阶梯满减,抽奖赢魅蓝note3、JDRead阅读器!</p>
        <p id="author">[美] 加·泽文(Gabrielle Zevin) 著;孙仲旭,李玉瑶 译</p>
        <div class="price">
            <div id="jdPrice">京东价: <span>¥24.10</span> [6.9折] <p>[定价:<span>¥35.00</span>]</p> (降价通知)</div>
            <p id="mobilePrice">促销信息:<span>手机专享价</span> <span>¥9.90</span></p>
            <dl>
                <dt>以下促销可在购物车任选其一</dt>
                <dd><span>加价购</span> 满99.00元另加6.18元即可在购物车换购热销商品</dd>
                <dd><span>满减</span> 满100.00减20.00,满200.00减60.00,满300.00减100.00</dd>
            </dl>
            <p id="ticket">领 券:<span>105-6</span>  <span>200-16</span></p>
        </div>
    </div>
</section>
<script src="./js/jquery-3.7.1.js"></script>
<script src="js/book.js"></script>
</body>
</html>

js

$(document).ready(function(){
    $("dt").click(function(){
        $("dd").css("display","block");
    });
    $(".intro").css("color","red")
    $("#jdPrice>span").css({"font-size":"24px","color":"red","font-weight":"bold"})
    $("#jdPrice>p").css({"color":"#cccccc","text-decoration":"line-through"})
    $("dl").css("color","red")
    $("dd span,#ticket span").css({"color":"white","background":"red","padding":"1px 5px","margin":"0px 5px"})
})

练习二、使用jQuery美化英雄联盟简介页

需求说明

单击<p>元素后,设置class为txt_box的元素内class 为current的元素的背景颜色为#6FF,<p>的子元素<span>的背景颜色为#F9F,紧邻<h1>后的<p>元素的背景颜色为#FF6,“即时对战”文本颜色为#FFF,背景颜色为#F00

js

$(document).ready(function(){
    $('p').click(function(){
        $('.txt_box>.current').css("background","#6FF")
    })
    $('p span').css("background","#f9f")
    $('h1+p').css("background","#FF6")
    $('#content span>span').css({"color":"#FFF","background":"#F00"})
})

html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
<title>使用jQuery美化英雄联盟简介页 </title>
</head>
<body>
 <h1>英雄联盟</h1> 
<p>    《英雄联盟》,简称LOL。</p>
<p id="content">
    由<strong>Riot Games </strong>开发,为3D竞技场战游戏,其
    <span>主创团队由实力强劲的
        <strong>魔兽争霸</strong>
        系列游戏多人<span>即时对战</span>自定义地图开发团队
    </span>...
    <a href="#">更多详情</a>
</p>
<h2>目录</h2>
<ul class="txt_box">
    <li class="current">开发团队</li>
    <li>游戏周边</li>
    <li>游戏介绍</li>
    <li>配置需求</li>
    <li>游戏背景</li>
</ul>

 <script type="text/javascript" src="js/jquery-3.7.1.js"></script>

 <script src="js/index.js" type="text/javascript">

 </script>
</body>
</html>

练习三、制作非缘勿扰页面特效

训练要点

使用属性选择器选取元素

使用css( )方法或addClass( )方法为元素添加样式

需求说明

单击标题“非缘勿扰”,<dd>元素中有id属性的<span>的文本(主演、导演、标签、剧情)颜色值为#FF0099,字体加粗显示

单击文本“导演”,文字“赖水清”为加粗

单击文本“标签”,它之后的“苏有朋”和“2013”的背景颜色为#E0F8EA,字体颜色为#10 A14B,并且文字与背景颜色上下边缘间距为2px,左右边缘边距为8px

单击图片“收藏”,弹出对话框,显示信息为“您已收藏成功!”

html

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
    <title>制作非缘勿扰页面特效 </title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
  <div class='main' >
     <div class='left'>
        <img src="images/pic.gif" />
            <br/><br/>
            <img src="images/col.gif" alt="收藏本片"/>
        </div>
        <div class='right'>
        <dl>
            <dt>非缘勿扰</dt>
            <dd><span id="star">主演:</span>苏有朋/秦岚/傅艺伟等</dd>
<dd><span id='director'>导演:</span><span title="导演">赖水清</span></dd>
<dd><span id='label'>标签:</span><span>苏有朋</span>  国产电视剧   <span>2013</span>  连续剧 </dd>
<dd><span id="drama">剧情:</span>当代都市,大年女刘林、杨阳都在寻找自己的如意郎君,刘林偶遇陆氏房地产总裁路西诺,两人成了欢喜冤家,遭到暗恋西诺的丁娟的嫉恨。。。<a href="#">点击了解更多 </a></dd>
            </dl>
            <img src="images/btn.gif"/>
        </div>
     </div>
 <script type="text/javascript" src="js/jquery-1.12.4.js" ></script>
 <script src="./js/index.js"></script>
</body>
</html>

js

$(document).ready(function(){
    $('.right dl dt').click(function(){
        $('.right dl dd span[id]').css({"color":"#FF0099" , "font-weight":"bold"})
    })
    $("span[id='director']").click(function(){
        $("span[title = '导演']").css("font-weight","bold")
    })
    $("span[id='label']").click(function(){
        $("#label~span").css({"background":"#E0F8EA","color":"#10A14B","padding":"2px 8px"})
    })
    $("img[src='images/col.gif']").click(function(){
       alert('您已收藏成功')
    })
})

练习四、制作隔行变色的商品列表

需求说明使用基本过滤选择器,实现隔行变色的表格(不包括表头),偶数行背景色为#eff7d1,奇数行背景色为#f7e195

js

$(document).ready(function(){
    $('tr:even').css('background','#eff7d1')
    $('tr:odd').css('background','#f7e195')
})

css

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>隔行变色的商品列表</title>
 <link rel="stylesheet" href="css/product.css">
 </head>
 <body>
<div class="contain">
<table border="0" width="100%" cellspacing="0">
<tr class="t-head">
<th width="50%">商品</th>
<th width="10%">单价</th>
<th width="10%">数量</th>
<th>操作</th>
</tr>
<tr>
<td>
<img src="images/f1.jpg" width="50" height="50"/>
<a href="">丹幕妮通勤波点印花毛衣</a>
</td>
<td>180.0</td>
<td>3</td>
<td><a href="javascript:void(0);" id="del">删除</a></td>
</tr>
<tr>
<td>
<img src="images/f2.jpg" width="50" height="50"/>
<a href="">预售太平洋女装连衣裙</a>
</td>
<td>765.0</td>
<td>4</td>
<td><a href="javascript:void(0);" id="del">删除</a></td>
</tr>
<tr>
<td>
<img src="images/f3.jpg" width="50" height="50"/>
<a href="">丹幕妮通勤红色小外套</a>
</td>
<td>456.0</td>
<td>2</td>
<td><a href="javascript:void(0);" id="del">删除</a></td>
</tr>
<tr>
<td>
<img src="images/f4.jpg" width="50" height="50"/>
<a href="">漫巴森秋装新款套头衫</a>
</td>
<td>140.0</td>
<td>1</td>
<td><a href="javascript:void(0);" id="del">删除</a></td>
</tr>
</table>
</div>
 </body>
 <script src="js/jquery-1.12.4.js"></script>
 <script src="./js/product.js"></script>
 <script>

 </script>
</html>

练习五、制作全网热播视频页面

需求说明使用选择器:not( ) 设置图片与右侧内容间距10px使用选择器:last设置右侧列表背景颜色为#f0f0f0使用层次选择器、:first、:not( )设置前三个视频名称前的数字1、2、3背景颜色为#f0a30f,后面的数字背景颜色为#a4a3a33、5、6、7后的箭头向上,4、8、9、10后的箭头向下鼠标移至右侧列表上时,显示对应的隐藏内容“加入看单”,鼠标离开后隐藏内容

html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>全网热播视频</title>
    <link rel="stylesheet" href="css/play.css">
</head>
<body>
<section id="play">
    <h1>全网热播视频</h1>
    <ul>
        <li><img src="images/flv01.jpg"><p>昊花梦</p><span>1</span></li>
        <li><img src="images/flv02.jpg"><p>好先生</p><span>2</span></li>
        <li>
            <ol>
                <li><span>3</span>三八线<p>加入看单</p></li>
                <li><span>4</span>吉详天宝<p>加入看单</p></li>
                <li><span>5</span>亲爱的翻译官<p>加入看单</p></li>
                <li><span>6</span>仙剑云之凡<p>加入看单</p></li>
                <li><span>7</span>权力的游戏第五季<p>加入看单</p></li>
                <li><span>8</span>琅琊榜<p>加入看单</p></li>
                <li><span>9</span>那年青春我们正好<p>加入看单</p></li>
                <li><span>10</span>乡村受情8(上)<p>加入看单</p></li>
            </ol>
        </li>
    </ul>
</section>
<script src="js/jquery-1.12.4.js"></script>
<script src="js/play.js"></script>
</body>
</html>

js

$(document).ready(function(){
    $("ul>li:not(:last)").css({"margin-right":"10px"})
    $("ul>li:last").css({"background":"#f0f0f0"})
    $("ul>li:not(:last) span").css({"background":"#f0a30f"})
    $("ol li:first span").css({"background":"#f0a30f"})
    $("ol li:not(:first) span").css({"background":"#a4a3a3"})
    $("ol li:eq(0),ol li:eq(2),ol li:eq(3),ol li:eq(4)").css({
        "background-image": "url(images/orange.jpg)",
        "background-repeat": "no-repeat",
        "background-position": "right -2px"
    })
    $("ol li:eq(1),ol li:eq(5),ol li:eq(6),ol li:eq(7)").css({
        "background-image": "url(images/green.jpg)",
        "background-repeat": "no-repeat",
        "background-position": "right -2px"
    })
    $("ol li").hover(function(){
        $('ol li p').show()
    })
    $("ol li").mouseout(function () {
        $("ol li p").hide();
    });
})

原文地址:https://blog.csdn.net/weixin_65279640/article/details/142781727

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!