四、JS04 初识 jQuery

news/2024/7/10 23:02:21 标签: jquery, javascript, ajax

四、初识 jQuery

4.1 jQuery 简介

4.1.1 jQuery 简介

  • jQuery 是一个快速,小型且功能丰富的 javaScript 函数库
  • 借助易于使用的API(可在多种浏览器中使用),使HTML文档的遍历和操作,事件处理,动画和Ajax等事情变得更加简单
  • Query是JavaScript的一个工具库,工具库就是指封装好的JavaScript函数,可以直接在程序中进行调用

4.1.2 jQuery 的用途

jQuery 是 JavaScript 的程序库之一,因此,许多使用 JavaScript 能实现的交换特效,使用 jQuery 也能够完美实现

下面简单介绍一下 jQuery 的应用场合

1、访问和操作 DOM 元素

  • 使用 jQuery 可以很方便地获取和修改页面中指定的元素
  • jQuery 提供了一套方便、快捷的方法,可以对元素进行删除、移动、复制
  • 大大提高了用户对页面的体验度

2、控制页面元素

  • 通过引入 jQuery ,程序开发人员可以很便捷地控制页面的 CSS 文件
  • jQuery 操作页面的样式可以很好地兼容各种浏览器

3、对页面事件的处理

  • 引入 jQuery 后,可以是页面的表现层与功能开发分离
  • 开发者更多地专注于程序的逻辑与功效
  • 通过事件绑定,可以很轻松地实现两者结合

4、方便地使用 jQuery 插件

  • 引入 jQuery 后,可以使用大量的 jQuery 插件来完善页面的功能和效果
  • 如 jQuery UI 插件库、Form 插件、Validate 插件库
  • 这些插件的使用极大地丰富了页面的展示效果

5、与 Ajax 技术的完美结合

  • 利用 Ajax 异步读取服务器数据的方法,极大地方便了程序的开发
  • 增强了页面的交互,提升了用户体验

4.1.3 jQuery 的优势

  • 轻量级 jQuery 单独体积较小,压缩之后,大约只有 100KB
  • 强大的选择器 jQuery 支持几乎所有的 CSS 原则器,以及 jQuery 自定义的特有选择器
  • 出色的 DOM 封装 jQuery 封装了大量常用的 DOM 操作,使开发者在编写 DOM 操作相关的程序的时候,更加得心应手
  • 可靠的事件处理机制 jQuery 的事件处理机制吸收了 JavaScript 中的事件处理函数的精华,使 jQuery 在处理事件绑定更可靠
  • 出色的浏览器兼容性 jQuery 能同时兼容 IE 6.0+、Firefox 3.6+、Safari 5.0+、Opera 和 Chrome 等多种浏览器
  • 隐式迭代 当使用 jQuery 查找到相同名称的元素后隐藏他们时,无需循环遍历每个返回的元素,它会自动操作所匹配的对象集合
  • 丰富的插件支持 jQuery 的易扩展性,吸引了来自全球的开发者来编写 jQuery的扩展插件

5.2 jQuery 语法

5.2.1 编写第一个 jQuery 程序

  • 编写程序前,需要先导入所对应的 jQuery包
  • 编写一个程序:在页面完成加载时,弹出一个对话框,显示 “Hello”
  • 示例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹出窗口特效</title>
</head>
<body>
<script type="text/javascript" src="../JQuery/jquery-1.12.4.js"></script>\
<script type="text/javascript" >javascript">
  $(document).ready(function (){
    alert("Hello");
  });
</script>
</body>
</html>
  • 以上 $(document).ready() 语句中的 ready() 方法类似于 JS 中的 onload() 方法
  • ready() 是jQuery中的页面载入事件,意味着在页面加载完成时,执行事件

window.onload 与 $(document).ready() 的对比

window.onload$(document).ready()
执行时机必须等待网页中所有的内容加载完毕后
(包括图片、Flash、视频等) 才能执行
网页中所有的 DOM 文档结构绘制完毕后即刻执行,可
能与 DOM 元素关联的内容(图片、Flash、视频等)
并没有加载完毕
编写个数同一页面不能同时编写多个
执行以下代码:
window.οnlοad=function(){
alert(“小明学习不好”);
}
window.οnlοad=function(){
alert(“小明学习不好”);
}
结果只会输出一次"小明学习不好"
同一页面能同时编写多个
执行以下代码:
$(document).ready(function(){
alert(“小明学习不好”);
});
(document).ready(function(){
alert(“小明学习不好”);
});
结果输出两次"小明学习不好"
简化写法可以简写成
$(function(){
//执行代码
});
  • 实际开发中,通常需要在页面加载后使用 JavaScript 执行一些初始化工作
  • 一般的做法是在 $(document).ready() 方法中执行这些工作

5.2.2 jQuery 语法结构

  • jQuery 的语句主要包括三大部分:$()、document 和 ready()
  • 这三大部分在 jQuery 中分别被称为工厂函数、选择器和方法
  • 语法结构如下
javascript">$(selector).action();

1、工厂函数 $()

  • 美元符号等价于 jQuery,即 $()=jQuery()
  • $() 的作用是将 DOM 对象转化为 jQuery 对象,只有将 DOM 对象转为 jQuery 对象后,才能使用 jQuery 方法
  • 当 $() 的参数是 DOM 对象时,该对象无须使用双引号包括起来

2、选择器 selector

  • jQuery 支持 CSS 1.0 到 CSS 3.0 规则中几乎所有的选择器,如标签选择器、类选择器、ID 选择器和后代选择器
  • 使用 jQuery 选择器和 $() 工厂函数可以非常方便地获取需要操作的 DOM 元素
  • 语法格式如下
javascript">$(selector)
  • ID 选择器、标签选择器、类选择器的用法如下所示
javascript">$("#userName");			//获取 DOM 为 id 为 userName 的元素
$("div");				//获取 DOM 中所有的 div 元素
$(".content");			//获取 DOM 中 class 为 content 的元素

3、方法 action()

  • jQuery 中提供了一系列方法,在方法中,一类重要的方法就是事件处理方法
  • 主要是用来绑定 DOM 元素的事件和事件处理方法
  • 许多基础事件、如鼠标事件、键盘事件和表单事件等、都可以通过事件方法进行绑定
  • 对应的在 jQuery 中则写作 click()、mouseover() 和 mouseout() 等

jQuery 中常用的方法

方法名描述
jQuery对象.addClass([样式名])向被选元素添加一个或多个类样式,样式名可以是一个,也可以多个
多个样式名需要用空格隔开
jQuery对象.css(“属性”,“属性值”);为匹配的元素添加一个 CSS 样式
jQuery对象.css(“属性1”:“属性值1”,“属性2”:“属性值2”,…);为匹配的元素同时这是多个 CSS 属性
jQuery对象.children();查找匹配的元素的所有直接的子元素
jQuery对象.siblings();查找除匹配的元素的所有兄弟元素
jQuery对象.next();返回匹配元素的下一个同辈元素
jQuery对象.show();显示匹配对象元素
jQuery对象.hide());隐藏匹配对象元素

5.2.3 jQuery 程序的代码风格

1、“$” 的使用

  • 在 jQuery 程序中,使用最多的时美元符号 “$”
  • 无论是页面元素的选择器,还是功能函数的前缀,都必须使用该符号
  • 它是 jQuery 程序的标志,即 $ 等同于 jQuery

2、链式操作

  • jQuery 代码中采用了一种链式编程模式
  • 它可以对一个对象进行多重操作,并将操作结果返回给该对象,以便于将返回结果应用于该对象的下一次操作
  • 代码示例
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>你是人间的四月天</title>
    <link rel="stylesheet" href="css/april.css">
</head>
    <style>
    body,h1,h2,p,div{margin: 0; padding: 0;}
body{font-size: 14px; line-height: 28px; font-family: "΢���ź�";}
#book{
    margin: 0 auto;
    width: 800px;
    overflow: hidden;
    padding-top: 10px;
    }
img{float: left; margin-right: 10px;}
h1{font-size: 32px; line-height: 45px;}
.intro{clear: both; display: none;}
h2{line-height: 45px; background: #999999; padding-left: 15px; color: #ffffff;}
.intro p{text-indent: 2em;}
.title{
    font-size: 24px;
    color: #0000ff;
}

    </style>
<body>
<div id="book">
    <img src="images/book.gif" /><h1>你是人间的四月天</h1>
    <p>
        笑响亮了四面风<br/>
        轻灵在春的光艳中交舞看变<br/>
        你是一月早天的云烟<br/>
        黄昏吹着风的软<br/>
        ....<br/>
        <a href="#" class="whole">查看全部</a><br/>
    </p>
    <div class="intro">
        <h2>内容简介</h2>
        <p>你是人间四月天是永正图书推出的“比烟花寂寞”系列之三。“比烟花寂寞”系列包括《民国女子》《爱眉小札》《你是人间四月天》《你是我眉心未完的诗》。这系列以前所未有的包装形式推出,引起读者尖叫连连。一经上市,便引发各大报纸、媒体的一致报道。
        </p><p>有人崇拜她,把她当做女神、偶像;也有人放出话来,“喜欢她的女人,品行有问题;喜欢她的男人,脑子有问题。”
    </p><p>她是缺乏幽娴品德的女人,她喜好与人辩论,她用诗句表达她的哀愁,她精通文理,学贯中西。她对文学和艺术,具有本能的、直接的感悟。生长富贵,命运坎坷,修养让她把热情藏在里面,热情却是她生活的支柱。
        她,就是那个万千宠爱于一身的一代才女——林徽因。
    </p><p>《你是人间四月天》是林徽因的一本小说、诗歌、散文、剧本集,几乎收录了林徽因所有的经典文学作品。其散文成就颇大,虽然数量不多,但风格独特,知识性强。诗歌尤多,其诗作融人中国古典诗歌和西方唯美派的一些表现手法,每篇文章都是她灵动思绪和满腹才华的凝结。她的语言温婉淡雅,如行云流水,又如拂面的春风。可以说。她的文字拥有超越时间的魅力。笔下流露出令人惊讶的对民间百态的深谙。</p>
    </div>
</div>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script type="text/javascript" >javascript">
    $(document).ready(function (){
        alert("ni");
        $("#book h1").click(function(){
            $(this).addClass("title").next().css("color","green");
        })

        $(".whole").click(function(){
            $(".intro").show();
        })
    })

</script>
</body>
</html>
  • 由上面可以看出,在设置完 “class” 属性后,紧接着又在后面设置了下一个元素的字体颜色
  • 这就是 jQuery 强大的连缀模式

3、隐式迭代

  • 当获取多个元素时,设置元素字体时,不需要遍历所有元素,就可以直接设置元素的样式
  • 这就是隐式迭代,在 jQuery 中获取一个集合后会默认遍历内部的所有元素

5.3 DOM 对象和 jQuery 对象

5.3.1 jQuery 对象与 DOM 对象的相互转换

DOM 对象:通过 DOM 的方法获取的元素节点就是 DOM 对象及 DOM元素

jQuery 对象:通过 jQuery 包装 DOM 对象后产生的对象

DOM 对象和 jQuery 对象都由一些特有的方法

DOM 对象无法调用 jQuery 对象的方法

jQuery 对象 也无法调用 DOM 对象的方法

这就需要用到对象的相互转换了

1、将 jQuery 对象转为 DOM 对象

  • jQuery 对象类似于一个数组的对象,可以通过 [index] 的方法得到相应的 DOM 对象
  • 格式如下
javascript">var $txtName=$("#txtName");		//jQuery 对象
var txtName=$txtName[0];		//DOM 对象
  • jQuery 对象转换成 DOM 对象在实际开发中并不多见
  • 除非希望使用 DOM 对象特有的成员

2、DOM 对象转换成 jQuery 对象

  • 将 DOM 对象使用函数 $() 包装起来,就可以获得一个 jQuery 对象
  • 格式如下
javascript">var txtName=document.getElementById("txtName");		//DOM 对象
var $txtName=$(txtName);		//jQuery 对象

http://www.niftyadmin.cn/n/229135.html

相关文章

unity如何绘制地形

介绍 unity如何绘制地形&#xff1f;Unity的地形是由一个特殊的组件称为Terrain来创建的。这个组件可以让你在Unity中创建非常复杂的地形&#xff0c;包括山脉、山谷、河流、湖泊等等。 方法 创建地形在Unity中创建地形非常简单&#xff0c;只需要在场景中创建一个空对象&…

分析Spring事务管理原理及应用

目录 一、Spring事务管理介绍 &#xff08;一&#xff09;基本理论 &#xff08;二&#xff09;实际工作中的举例 &#xff08;三&#xff09;简单应用举例 二、Spring事务配置介绍 &#xff08;一&#xff09;Spring事务属性介绍 传播属性&#xff08;传播行为&#xff…

利用STM32实现自平衡机器人功能与方法

将机器人整体开源&#xff0c;同时总结一下机器人搭建过程中遇到的坑和未来的改进方向。在分享的文件里包含了结构设计、程序控制、电路设计以及其他模块相关资料供大家参考。 第一&#xff1a;机器人原理分析 首先来看成品图&#xff1a; 如图所示&#xff0c;该机器人根据陀…

工业电子中的安森美深力科AMIS30660CANH2RG CAN收发器 面向工业自动化和汽车电源应用

工业电子中的安森美深力科AMIS30660CANH2RG CAN收发器 面向工业自动化和汽车电源应用 AMIS30660CANH2RG CAN 收发器是控制器区域网络 (CAN) 协议控制器和物理总线之间的接口&#xff0c;可在 12 V 和 24 V 系统中使用。该收发器为总线提供差分发射功能&#xff0c;向 CAN 控制…

OpenCV按指定大小分割图像并保存详细讲解

这几天在忙着整理自己的数据集&#xff0c;使用工业级相机拍了好多高清照片&#xff0c;但是模型训练的时候需要使用512*512像素点大小的图像&#xff0c;而且我的模型设计的时候就已经规定好了训练样本大小。 那就分割呗&#xff0c;把拍的照片按512*512分割一小块一小块的&am…

( “树” 之 DFS) 687. 最长同值路径 ——【Leetcode每日一题】

687. 最长同值路径 给定一个二叉树的 root &#xff0c;返回 最长的路径的长度 &#xff0c;这个路径中的 每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。 两个节点之间的路径长度 由它们之间的边数表示。 示例 1: 输入&#xff1a;root [5,4,5,1,1,5] 输出&…

力扣javascript刷题343——动态规划之整数拆分

这几天有在开始投暑期实习的简历&#xff0c;可能确实是投的太晚了&#xff0c;好多厂都没有hc了&#xff0c;阿里简历面都没过&#xff08;感觉是kpi面试&#xff09;&#xff0c;被深深打击到了呜呜呜&#xff0c;花了两天整理情绪&#xff0c;重新出发&#xff0c;下篇文章针…

C++ 中 static_cast , dynamic_cast , const_cast , reinterpret_cast 类型转换使用详解

文章目录前言const_cast原生数据类型自定义数据类型static_castreinterpret_castdynamic_cast向上转型&#xff08;Upcasting&#xff09;向下转型&#xff08;Downcasting&#xff09;前言 隐式类型转换是安全的&#xff0c;显式类型转换是有风险的&#xff0c;C语言之所以增…