当前位置: 首页 > wzjs >正文

莱芜营销型网站制作濮阳市城乡一体化示范区西湖医院

莱芜营销型网站制作,濮阳市城乡一体化示范区西湖医院,营销网站建设哪家快,wordpress手机版边侧导航jQuery概述与简单使用 jQuery是一个快速、简洁的JavaScript库,其设计宗旨是"write Less, Do More",即用更少的代码完成更多的工作。它是一个封装好的特定集合(方法和函数),优化了DOM操作、事件处理、动画设计和Ajax交互。 jQuery…

jQuery概述与简单使用

jQuery是一个快速、简洁的JavaScript库,其设计宗旨是"write Less, Do More",即用更少的代码完成更多的工作。它是一个封装好的特定集合(方法和函数),优化了DOM操作、事件处理、动画设计和Ajax交互。

jQuery的引入方式

<!-- 本地引入 -->
<script src="jquery-3.7.1.min.js"></script><!-- CDN引入 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>

jQuery入口函数

jQuery提供了两种入口函数的写法,确保DOM加载完成后再执行代码:

// 写法一(推荐)
$(function() {// 此处是页面DOM加载完成的入口
});// 写法二
$(document).ready(function() {// 此处是页面DOM加载完成的入口
});

这两种写法都相当于原生JS中的DOMContentLoaded事件,不同于load事件(需要等待所有外部资源加载完成)。

二、$()函数与jQuery对象

$()函数

$是jQuery的顶级对象,相当于原生JavaScript中的window$()函数是jQuery的核心函数,也称为工厂函数,主要用于:

  1. 选择DOM元素:$("selector")
  2. 创建DOM元素:$("<div>新元素</div>")
  3. 将DOM对象转换为jQuery对象:$(domObj)

jQuery对象与DOM对象

jQuery对象是通过$()函数包装DOM对象后产生的对象,以伪数组形式存储。两者不能混用方法:

// DOM对象:原生JS获取的对象
var div = document.querySelector('div');
console.log(div); // DOM对象// jQuery对象:用jquery方式获取的对象
$('div');
console.dir($('div')); // 输出结果是一个伪数组

相互转换

// DOM转jQuery对象
var video = document.querySelector('video');
$(video); // 转换为jQuery对象// jQuery转DOM对象(两种方式)
$('video')[0]; // 方法一:通过索引获取
$('video').get(0); // 方法二:使用get方法

三、jQuery选择器

jQuery选择器用于快速定位DOM元素,语法为$("选择器"),引号内写法与CSS选择器相同。

基础选择器

名称用法描述
ID选择器$("#id")获取指定ID的元素
类选择器$(".class")获取同一类class的元素
标签选择器$("div")获取同一类标签的所有元素
全选选择器$("*")匹配所有元素
并集选择器$("div,p,li")选取多个元素
交集选择器$("li.current")选择同时满足条件的元素

层级选择器

名称用法描述
子代选择器$("ul>li")获取亲儿子层级的元素
后代选择器$("ul li")获取ul下的所有li元素,包括子孙

筛选选择器

语法用法描述
:first$('li:first')获取第一个li元素
:last$('li:last')获取最后一个li元素
:eq(index)$('li:eq(2)')获取索引号为2的元素(从0开始)
:odd$('li:odd')获取索引号为奇数的元素
:even$('li:even')获取索引号为偶数的元素

筛选方法

方法用法说明
parent()$("li").parent()查找父级
children()$("ul").children("li")相当于$("ul>li")
find()$("ul").find("li")相当于$("ul li")
siblings()$(".first").siblings("li")查找兄弟节点,不包括自己
eq()$("li").eq(2)相当于$("li:eq(2)")

隐式迭代

jQuery会自动遍历内部DOM元素(伪数组形式存储),无需手动循环:

$("ul li").css("background", "pink"); 
// 自动为所有li元素设置背景色,无需遍历

四、on()方法绑定事件

on()方法是jQuery中绑定事件处理程序的首选方法,自jQuery 1.7起,它替代了bind()live()delegate()方法。

基本语法

$(selector).on(event, childSelector, data, function, map)

多种使用方式

  1. 基础事件绑定
$("p").on("click", function() {alert("段落被点击");
});
  1. 事件委托(适合动态元素):
$("div").on("click", "p", function() {// 点击div内的p元素时触发$(this).css("background", "yellow");
});
  1. 批量绑定事件
$("div").on({click: function() { /* 点击事件 */ },mouseenter: function() { /* 鼠标进入事件 */ }
});
  1. 链式绑定
$("div").on("click", function() { /*...*/ }).on("mouseenter", function() { /*...*/ });

事件解绑

使用off()方法解除事件绑定:

// 解绑所有click事件
$("div").off("click");// 解绑特定处理函数
$("div").off("click", handlerFunction);

五、鼠标事件

jQuery提供了丰富的鼠标事件处理方法:

常用鼠标事件

  1. click() - 点击事件
$("button").click(function() {alert("按钮被点击");
});
  1. dblclick() - 双击事件
$("div").dblclick(function() {$(this).css("background", "blue");
});
  1. mouseenter() - 鼠标进入
$("div").mouseenter(function() {$(this).css("border", "2px solid red");
});
  1. mouseleave() - 鼠标离开
$("div").mouseleave(function() {$(this).css("border", "none");
});
  1. hover() - 鼠标悬停(结合进入和离开)
$("div").hover(function() { // 鼠标进入$(this).css("background", "yellow");},function() { // 鼠标离开$(this).css("background", "white");}
);

事件对象

jQuery统一了事件对象,提供跨浏览器兼容性:

$("div").click(function(event) {console.log(event.pageX); // 鼠标相对于文档的X坐标console.log(event.pageY); // 鼠标相对于文档的Y坐标console.log(event.target); // 触发事件的DOM元素console.log(event.type); // 事件类型(如"click")event.preventDefault(); // 阻止默认行为event.stopPropagation(); // 阻止事件冒泡
});

六、css()方法操作样式

css()方法是jQuery中用于获取或设置元素样式的主要方法。

获取样式

// 获取第一个匹配元素的color样式
var color = $("p").css("color");
console.log(color); // 输出如"rgb(255, 0, 0)"

设置单个样式

// 设置所有p元素的文字颜色为红色
$("p").css("color", "red");// 数值可省略单位(默认为px)
$("div").css("width", 300); // 等价于"300px"

设置多个样式

$("div").css({"width": "200px","height": 150, // 数值会自动加px"background-color": "#f0f0f0","border": "1px solid black"
});

使用函数设置样式

$("div").css("width", function(index, currentWidth) {// index - 元素在集合中的索引// currentWidth - 当前宽度值return parseInt(currentWidth) + 50 + "px";
});

七、类样式操作

jQuery提供了专门的方法来操作元素的class属性:

addClass() - 添加类

$("div").addClass("highlight"); // 添加单个类
$("div").addClass("highlight active"); // 添加多个类

removeClass() - 移除类

$("div").removeClass("highlight"); // 移除单个类
$("div").removeClass("highlight active"); // 移除多个类
$("div").removeClass(); // 移除所有类

toggleClass() - 切换类

$("button").click(function() {$("div").toggleClass("active"); // 有则移除,无则添加
});

hasClass() - 检查类

if ($("div").hasClass("active")) {console.log("该元素有active类");
}

八、综合案例

案例1:排他思想实现选项卡

<div class="tab"><div class="tab_list"><ul><li class="current">商品介绍</li><li>规格与包装</li><li>售后保障</li></ul></div><div class="tab_con"><div class="item" style="display:block">商品介绍内容</div><div class="item">规格与包装内容</div><div class="item">售后保障内容</div></div>
</div><script>
$(function() {// 1. 给tab栏的li绑定点击事件$(".tab_list li").click(function() {// 2. 当前tab栏被选中,其他tab栏取消选中$(this).addClass("current").siblings().removeClass("current");// 3. 获取被点击tab栏的索引号var index = $(this).index();// 4. 让对应索引号的item显示,其他隐藏$(".tab_con .item").eq(index).show().siblings().hide();});
});
</script>

案例2:表格隔行变色

<table border="1" cellspacing="0" cellpadding="0"><thead><tr><th>序号</th><th>姓名</th><th>年龄</th></tr></thead><tbody><tr><td>1</td><td>张三</td><td>20</td></tr><tr><td>2</td><td>李四</td><td>22</td></tr><tr><td>3</td><td>王五</td><td>25</td></tr><tr><td>4</td><td>赵六</td><td>28</td></tr></tbody>
</table><script>
$(function() {// 1. 给tbody内的奇数行添加样式$("tbody tr:odd").css("background-color", "#f2f2f2");// 2. 给tbody内的偶数行添加样式$("tbody tr:even").css("background-color", "#fff");// 3. 鼠标悬停效果$("tbody tr").hover(function() {$(this).css("background-color", "#ddd");},function() {// 恢复原来的背景色var index = $(this).index();$(this).css("background-color", index % 2 === 0 ? "#fff" : "#f2f2f2");});
});
</script>

案例3:全选与反选

<div class="checkbox-group"><input type="checkbox" id="checkAll"> 全选/取消全选<br><input type="checkbox" class="checkItem"> 选项1<br><input type="checkbox" class="checkItem"> 选项2<br><input type="checkbox" class="checkItem"> 选项3<br><button id="reverseBtn">反选</button>
</div><script>
$(function() {// 1. 全选/取消全选$("#checkAll").click(function() {$(".checkItem").prop("checked", $(this).prop("checked"));});// 2. 当所有子选项被选中时,自动勾选全选$(".checkItem").click(function() {var allChecked = $(".checkItem").length === $(".checkItem:checked").length;$("#checkAll").prop("checked", allChecked);});// 3. 反选功能$("#reverseBtn").click(function() {$(".checkItem").each(function() {$(this).prop("checked", !$(this).prop("checked"));});// 更新全选按钮状态var allChecked = $(".checkItem").length === $(".checkItem:checked").length;$("#checkAll").prop("checked", allChecked);});
});
</script>

九、总结

jQuery通过简洁的语法和强大的功能,极大地简化了JavaScript编程。核心要点包括:

  1. $()函数:jQuery的核心,用于选择元素、创建元素和转换对象
  2. 选择器:丰富的选择器语法,快速定位DOM元素
  3. 链式调用:多数jQuery方法返回jQuery对象,支持链式写法
  4. 隐式迭代:自动遍历匹配的元素集合,无需手动循环
  5. 事件处理on()方法统一了事件绑定,支持事件委托
  6. 样式操作css()方法简化了样式获取和设置
  7. 类操作:专门的类操作方法,不影响其他类

随着Web技术的发展,虽然现代框架如React、Vue等逐渐流行,但jQuery因其简单易用、兼容性好等特点,仍然在许多项目中广泛使用。最新的jQuery 4.0版本也在持续更新中,提供了更好的性能和现代特性支持。

http://www.dtcms.com/wzjs/799892.html

相关文章:

  • 中国建设监理协会网站继续教育系统中山三水网站建设
  • 福田做棋牌网站建设哪家公司便宜团队建设网站
  • 网站正在建设中......公众号开发人员名单
  • 在淘宝上做网站如何付费靖江网站建设价格
  • 网站开发需要多少钱新闻今天郑州最新状况
  • 精神文明建设网站专栏专业论坛网站开发开发
  • 建设网站群的意义网站建设意义
  • 苏州网站推广ps彩屏做的好的网站
  • ppt模板免费网站在线制作广州市开发区建设网站
  • 推广及建设网站天津网站建设zymxart
  • 关于网站建设的教材怎建网站
  • 优秀的网站设计任丘网站建设价格
  • 怎么做赌钱网站如何做网站frontpage
  • 男女做暖暖插孔网站网站开发哪里
  • wordpress网站插件智能建站系统个人网站
  • 查看网站开发怀集网站建设
  • 网站开发与设计培训莱阳网站建设
  • 广州做一个网站多少钱企业网站的推广形式有哪些
  • 福州网站seo企业宣传片视频模板
  • 哪些做营销型网站做的好英文手机商城网站建设
  • 可以做淘宝推广的网站类模板模板下载网站有哪些内容
  • 固原市住房和城乡建设厅网站网站设计规划教学设计
  • 简述电子商务网站的内容设计与开发网页设计制作网站模板图片
  • 做app 需要先做网站吗北京手机模板建站
  • 网站做微信支付对接建设学校网站前的需求分析报告
  • 一个网站开发的假设网站平台规划方案
  • 中国建设银行网站怎么登录不上模板网站五金
  • 网站模板制作视频教程wordpress开源吗
  • 重庆巨能建设集团网站靳刘高设计公司官网
  • dedecms英文外贸网站企业模板下载网站的建设可以起到什么作用是什么原因