JavaWeb基础-1.jQuery

news/2024/11/29 13:32:05/

1. jQuery介绍

  • 是JavaScript和Query,辅助JavaScript开发的js类库

2. jQuery核心函数

  • $是jQuery的核心函数,$()就是调用$这个函数
  • 传入参数为函数时,表示页面加载完成后,相当于window.οnlοad=function(){}
  • 传入参数为HTML字符串时,会帮我们创建这些HTML标签对象
  • 传入参数为选择器字符串时,$("#id属性值") 等于 id选择器,根据id查询标签对象;$(“标签名” )等于标签名选择器,根据指定的标签名查询标签对象
  • 传入参数为DOM对象时,会把这个DOM对象转换为jQuery对象

3. jQuery对象和DOM对象

3.1 jQuery对象和DOM对象使用区别

  • jQuery对象是DOM对象的数组+jQuery提供的一系列功能函数
  • jQuery对象不能使用DOM对象的属性和方法
  • DOM对象也不能使用jQuery对象的属性和方法

3.2 DOM对象和jQuery对象转化

  • $(DOM对象)就可以转成jQuery对象
  • jQuery对象[小标]取出相应的DOM对象

4. jQuery选择器

4.1 基本选择器

  • #id
  • element
  • .class
  • *

4.2 层级选择器

  • ancestor descendant 祖先元素下所有的后代元素
  • parent > child 直接子元素
  • prev + next 紧接在prev元素后的next元素
  • prev ~ siblings prev元素之后所有的元素

4.3 过滤选择器

4.3.1 基本过滤器

  • :first 获取第一个元素
  • :last 获取最后的元素
  • :not(selector) 取反
  • :even 匹配索引值为偶数的元素
  • :odd 索引值为奇数的元素,从0开始
  • :eq(index) 匹配一个给定索引值的元素
  • gt(index) 大于给定索引值的元素
  • lt(index) 小于给定索引值的元素
  • :header h1-h6
  • :animated 正在执行动画效果的元素

4.3.2 内容过滤器

  • :contains(text) 匹配包含给定文本的元素
  • :empty 所有不包含子元素或者文本的空元素
  • :parent 非空的
  • :has(selector) 匹配含有选择器所匹配的元素的元素

4.3.3 属性过滤器

  • [attribute] 匹配包含给定属性的元素
  • [attribute=value] 属性是某个值的元素
  • [attribute!=value] 不含有指定属性或属性不等于特定值的元素
  • [attribute^=value] 给定的属性以某些值开始的元素
  • [attribute$=value] 结尾的
  • [attribute*=value] 包含的

4.3.4 表单过滤器

  • :input 匹配所有表单,很少用
  • :text 匹配素有的单行文本框
  • :password 所有密码框
  • :radio 单选
  • :checkbox 复选框
  • :submit 提交按钮
  • :reset 重置按钮
  • :buttom 按钮
  • :hidden 不可见的元素或type为hidden的元素

4.3.5 表单对象属性过滤器

  • :enabled 匹配所有可用元素
  • :disabled 不可用
  • :checked 被选中的(单选、复选框)
  • :selected 选中的option元素

5. jQuery元素筛选

方法作用功能
eq()获取给定索引的元素跟:eq一样
first()获取第一个元素跟:first一样
last()获取最后一个元素:last一样
filter(eq)过滤,留下匹配元素
is()判断是否匹配给定的选择器,有一个匹配返回true
has(exp)返回包含有匹配选择器的元素的元素:has
not(exp)删除匹配选择器的元素:not
children(exp)返回匹配给定选择器的子元素parent>children
find(exp)返回匹配给定选择器的后代元素祖先 后代
next()返回当前元素的下一个兄弟元素prev+next
nextAll()当前元素的同辈元素prev~siblings
nextUntil()当前元素到指定匹配元素为止
parent()返回父元素
prev(exp)当前元素的上一个兄弟元素
prevAll()返回当前元素所有的兄弟元素
siblings(exp)返回所有兄弟元素
add()把add匹配的选择器元素添加到当前jquery对象中

6. jQuery的属性操作

  • html() 可以设置和获取起始标签和结束标签中的内容,跟DOM属性innerHTML一样
  • text() 可以设置和获取文本,跟DOM属性innerText一样
  • val() 可以设置和获取表单项的value值,跟DOM属性value一样
  • attr() 可以设置和获取属性的值,不推荐操作checked,readOnly,selected,disabled。还可以操作非标准的属性,比如自定义属性abc,bcd…
  • prop() 对于一些属性,返回undefined时,attr()不推荐的使用prop()

6.1 练习:全选、全不选,反选

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript" src="../../script/jquery-1.7.2.js"></script><script type="text/javascript">$(function () {$("#checkedAllBtn").click(function () {$(":checkbox").prop("checked", true);});$("#checkedNoBtn").click(function () {$(":checkbox").prop("checked", false);});$("#checkedRevBtn").click(function () {$(":checkbox[name='items']").each(function () {this.checked = !this.checked;});var allCount = $(":checkbox[name='items']").length;var checkCount = $(":checkbox[name='items']:checked").length;$("#checkedAllBox").prop("checked", allCount == checkCount);});$("#sendBtn").click(function () {$(":checkbox[name='items']:checked").each(function () {alert(this.value);});});$("#checkedAllBox").click(function () {$(":checkbox[name='items']").prop("checked", this.checked);});$(":checkbox[name='items']").click(function () {var allCount = $(":checkbox[name='items']").length;var checkCount = $(":checkbox[name='items']:checked").length;$("#checkedAllBox").prop("checked", allCount == checkCount);});});</script>
</head>
<body><form method="post" action="">你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选<br/><input type="checkbox" name="items" value="足球"/>足球<input type="checkbox" name="items" value="篮球"/>篮球<input type="checkbox" name="items" value="羽毛球"/>羽毛球<input type="checkbox" name="items" value="乒乓球"/>乒乓球<br/><input type="button" id="checkedAllBtn" value="全 选"/><input type="button" id="checkedNoBtn" value="全不选"/><input type="button" id="checkedRevBtn" value="反 选"/><input type="button" id="sendBtn" value="提 交"/>
</form>
</body>
</html>

7. DOM的增删改

内部插入

  • a.appendTo(b) 把a插入到b子元素末尾,成为最后一个子元素
  • a.prependTo(b) 把a插到b所有子元素前面,成为第一个子元素

外部插入

  • a.insertAfter(b) 得到ba
  • a.insertBefore(b) 得到ab

替换

  • a.replaceWith(b) 用b替换掉a
  • a.replaceAll(b) 用a替换所有b
    删除
  • remove(a) 删除a标签
  • empty(a) 清空a标签的内容

7.1 练习 左右删除

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><style type="text/css">select {width: 100px;height: 140px;}div {width: 130px;float: left;text-align: center;}</style><script type="text/javascript" src="script/jquery-1.7.2.js"></script><script type="text/javascript">$(function () {$("button:eq(0)").click(function () {$("select:eq(0) option:selected").appendTo($("select:eq(1)"));});$("button:eq(1)").click(function () {$("select:eq(0) option").appendTo($("select:eq(1)"));});$("button:eq(2)").click(function () {$("select:eq(1) option:selected").appendTo($("select:eq(0)"));});$("button:eq(3)").click(function () {$("select:eq(1) option").appendTo($("select:eq(0)"));});})</script>
</head>
<body>
<div id="left"><select multiple="multiple" name="sel01"><option value="opt01">选项1</option><option value="opt02">选项2</option><option value="opt03">选项3</option><option value="opt04">选项4</option><option value="opt05">选项5</option><option value="opt06">选项6</option><option value="opt07">选项7</option><option value="opt08">选项8</option></select><button>选中添加到右边</button><button>全部添加到右边</button>
</div>
<div id="rigth"><select multiple="multiple" name="sel02"></select><button>选中删除到左边</button><button>全部删除到左边</button>
</div>
</body>
</html>

7.2 练习 表格增删

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Untitled Document</title><link rel="stylesheet" type="text/css" href="styleB/css.css"/><script type="text/javascript" src="../../script/jquery-1.7.2.js"></script><script type="text/javascript">$(function () {var deleteFun = function () {var $trObj = $(this).parent().parent();var name = $trObj.find("td:first").text();if (confirm("确认删除" + name + "?")) {$trObj.remove();}return false;}$("#addEmpButton").click(function () {var name = $("#empName").val();var email = $("#email").val();var salary = $("#salary").val();var $trObj = $("<tr>\n" +"        <td>" + name + "</td>\n" +"        <td>" + email + "</td>\n" +"        <td>" + salary + "</td>\n" +"        <td><a href=\"deleteEmp?id=003\">Delete</a></td>\n" +"    </tr>");$trObj.appendTo($("#employeeTable"));$trObj.find("a").click(deleteFun);});$("a").click(deleteFun);})</script>
</head>
<body><table id="employeeTable"><tr><th>Name</th><th>Email</th><th>Salary</th><th>&nbsp;</th></tr><tr><td>Tom</td><td>tom@tom.com</td><td>5000</td><td><a href="deleteEmp?id=001">Delete</a></td></tr><tr><td>Jerry</td><td>jerry@sohu.com</td><td>8000</td><td><a href="deleteEmp?id=002">Delete</a></td></tr><tr><td>Bob</td><td>bob@tom.com</td><td>10000</td><td><a href="deleteEmp?id=003">Delete</a></td></tr>
</table><div id="formDiv"><h4>添加新员工</h4><table><tr><td class="word">name:</td><td class="inp"><input type="text" name="empName" id="empName"/></td></tr><tr><td class="word">email:</td><td class="inp"><input type="text" name="email" id="email"/></td></tr><tr><td class="word">salary:</td><td class="inp"><input type="text" name="salary" id="salary"/></td></tr><tr><td colspan="2" align="center"><button id="addEmpButton" value="abc">Submit</button></td></tr></table>
</div>
</body>
</html>

8. CSS样式操作

  • addClass() 添加样式
  • removeClass() 删除样式
  • toggleClass() 有就删除,没有就添加
  • offset() 获取和设置元素的坐标

9. jQuery动画

基本动画

  • show() 将隐藏的元素显示
  • hide() 将可见的元素隐藏
  • toggle() 可见就隐藏,不可见就显示

淡入淡出动画

  • fadeIn() 淡入
  • fadeOut() 淡出
  • fadeTo() 在指定时长内慢慢的将透明度修改到指定值
  • fadeToggle() 淡入/淡出切换

9.1 练习 CSS动画

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>品牌展示练习</title><style type="text/css">* {margin: 0;padding: 0;}body {font-size: 12px;text-align: center;}a {color: #04D;text-decoration: none;}a:hover {color: #F50;text-decoration: underline;}.SubCategoryBox {width: 600px;margin: 0 auto;text-align: center;margin-top: 40px;}.SubCategoryBox ul {list-style: none;}.SubCategoryBox ul li {display: block;float: left;width: 200px;line-height: 20px;}.showmore, .showless {clear: both;text-align: center;padding-top: 10px;}.showmore a, .showless a {display: block;width: 120px;margin: 0 auto;line-height: 24px;border: 1px solid #AAA;}.showmore a span {padding-left: 15px;background: url(img/down.gif) no-repeat 0 0;}.showless a span {padding-left: 15px;background: url(img/up.gif) no-repeat 0 0;}.promoted a {color: #F50;}</style><script type="text/javascript" src="script/jquery-1.7.2.js"></script><script type="text/javascript">$(function () {$("li:gt(5):not(:last)").hide();$(".showmore a").click(function () {$("li:gt(5):not(:last)").toggle();if ($("li:gt(5):not(:last)").is(":hidden")) {$("div div  a span").text("显示全部品牌");$("div div").removeClass();$("div div").addClass("showmore");$("li:contains('佳能')").removeClass("promoted");} else {$("div div a span").text("省略");$("div div").removeClass();$("div div").addClass("showless");$("li:contains('佳能')").addClass("promoted");}return false;});});</script>
</head>
<body>
<div class="SubCategoryBox"><ul><li><a href="#">佳能</a><i>(30440) </i></li><li><a href="#">索尼</a><i>(27220) </i></li><li><a href="#">三星</a><i>(20808) </i></li><li><a href="#">尼康</a><i>(17821) </i></li><li><a href="#">松下</a><i>(12289) </i></li><li><a href="#">卡西欧</a><i>(8242) </i></li><li><a href="#">富士</a><i>(14894) </i></li><li><a href="#">柯达</a><i>(9520) </i></li><li><a href="#">宾得</a><i>(2195) </i></li><li><a href="#">理光</a><i>(4114) </i></li><li><a href="#">奥林巴斯</a><i>(12205) </i></li><li><a href="#">明基</a><i>(1466) </i></li><li><a href="#">爱国者</a><i>(3091) </i></li><li><a href="#">其它品牌相机</a><i>(7275) </i></li></ul><div class="showmore"><a href="more.html"><span>显示全部品牌</span></a></div>
</div>
</body>
</html>

10. jQuery事件操作

$(function(){})和window.οnlοad=function(){}的区别?

  • jQuery页面加载完成后先执行,原生js页面加载完成后执行
  • jQuery的页面加载完成后是浏览器内核解析完页面的标签创建好DOM对象之后就会马上执行,原生js的页面加载完成之后,除了以上步骤,还要等标签显示时需要的内存加载完成
  • 原生js的页面加载完成之后,只会执行最后一次的赋值函数。jQuery的页面加载完成后把注册的function函数一次顺序全部执行

jQuery中其他的事件处理方法

  • click() 绑定单击事件,以及出发单击事件
  • mouseover() 鼠标移入事件
  • mouserout() 鼠标移出事件
  • bind() 可以给元素一次性绑定一个或多个事件
  • one() 使用上跟bind一样,绑定的事件只能相应一次
  • unbind() 解除事件的绑定
  • live() 可以用来绑定选择器匹配的所有元素的事件,哪怕这个元素时后面动态创建出来的也有效

事件的冒泡

  • 父子元素同时监听同一事件,当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里去响应
  • 在子元素事件函数体内,return false;可以阻止事件的冒泡传递

10.1 JavaScript事件对象

  • 事件对象是指封装有触发的事件信息的一个JavaScript对象
  • 在给元素绑定事件时,在事件的function(event)参数列表中添加一个参数,这个参数名,我们习惯命名为event,这个event就是JavaScript传递参数事件处理函数的事件对象
// window.onload = function () {//     document.getElementById("areaDiv").onclick = function (event) {//         console.log(event);//     }// }$(function () {$("#showMsg").click(function (event) {console.log(event);});})

10.2 练习 图片跟随

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><style type="text/css">body {text-align: center;}#small {margin-top: 150px;}#showBig {position: absolute;display: none;}</style><script type="text/javascript" src="script/jquery-1.7.2.js"></script><script type="text/javascript">$(function () {$("#small").bind("mouseover mouseout mousemove", function (event) {if (event.type == "mouseover") {$("#showBig").show();} else if (event.type == "mouseout") {$("#showBig").hide();} else if (event.type == "mousemove") {$("#showBig").offset({left: event.pageX + 10,top: event.pageY + 10});}});});</script>
</head>
<body>
<img id="small" src="img/small.jpg"/>
<div id="showBig"><img src="img/big.jpg">
</div>
</body>
</html>

http://www.ppmy.cn/news/726136.html

相关文章

JavaWeb-JQuery02

1.jQuery的属性操作 html()它可以设置和获取起始标签和结束标签中的内容。跟dom属性innerHTML一样。text()它可以设置和获取起始标签和结束标签中的文本。跟dom属性innerText一样。val()它可以设置和获取表单项的value属性值。跟dom属性value一样。attr()可以设置和获取属性的…

jQuery 学习模块一

jQuery基本选择器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>10-jQuery基本选择器</title><style>* {margin: 0;padding: 0;}</style> </head> <body> <script…

JavaWeb开发 前端语言:jQuery(二)属性操作、DOM的增删改、CSS样式操作、动画、事件操作

JavaWeb开发 前端语言&#xff1a;jQuery&#xff08;二&#xff09; 1.jQuery的属性操作2.jQuery练习&#xff1a;使用jQuery完成全选、全不选、反选和提交功能3.DOM的增删改3.1 DOM的增操作3.1.1 内部插入3.1.2 外部插入 3.2 DOM的改操作3.3 DOM的删操作 4.jQuery练习二4.1 从…

linux系统下的打印机驱动下载,为 Linux 选择打印机 | Linux 中国

原标题:为 Linux 选择打印机 | Linux 中国 Linux 为打印机提供了广泛的支持。学习如何利用它。 -- Don Watkins 致谢 编译自 | https://opensource.com/article/18/11/choosing-printer-linux 作者 | Don Watkins 译者 | geekpi 💎💎💎共计翻译:832.5篇 贡献时间:…

计算机用户组连接打印机,工作组链接域内共享打印机的正确姿势

不在域内的工作组中电脑链接域内共享打印机的正确姿势如下&#xff1a; 链接步骤&#xff1a; 1、确保是同一个局域网&#xff0c;能ping通。 2、域内共享打印机设置成共享&#xff0c;当然&#xff0c;这一句基本上是废话&#xff0c;不开共享链接个屁&#xff1b; 3、检查来宾…

RICOH处于脱机状态 简单解决

电脑屏幕右下方打印机图标如上显示 打印机处于【脱机】状态&#xff0c;即 没有联网 首先检查【水晶头】是否连接正常 重启打印机 如果不能解决&#xff0c;但是 【打印队列进程】还在【电脑端显示】&#xff0c;那么当 打印机 之后处于 正常状态时&#xff0c;会继续打印在队…

理光一体机扫描的时候显示服务器响应错误,理光(ricoh)2550一体机扫描文件到server 2012r2的共享文件夹传输失败。...

Hi&#xff0c; 具体的报错是什么&#xff1f; 还有看到之前有讨论过&#xff0c;针对server 2012 和windows 8 扫描失败&#xff0c;ricoh有新的固件。 你可以看一下这个帖子&#xff0c;帖子有点长&#xff0c;但里面有讨论到&#xff0c;你也可以再咨询一下ricoh。 然后还可…

上采样和下采样层 nn.pixelshuffle and nn.pixelunshuffle

前言 理论部分后面有空的时候补一下&#xff0c;这里先放代码和简要说明。 Downsample 这里先对channel维度降低为原来 1 / 2 1/2 1/2&#xff0c;然后再对channel维度提升 r 2 r^2 r2 倍数, 这里 r 2 r2 r2 (nn.PixelUnshuffle中的参数)&#xff0c;同时特征图的宽度和高…