【how2j JQuery部分】课后题答案及相关笔记

练习题

<script src="jquery.min.js"></script><script>$(function(){$('tr:odd').css({"background-color":"#f8f8f8"});});
</script>
<style>
table{border-collapse:collapse;width:90%;}
tr{border-bottom-style: solid;border-bottom-width: 1px;border-bottom-color: lightgray;height:35px;}
td{width:25%;text-align:center;}</style>
<table id="t"><tr ><td>id</td>	<td>名称</td>	<td>血量</td>	<td>伤害</td></tr><tr ><td>1</td>	<td>gareen</td>	<td>340</td>	<td>58</td></tr><tr ><td>2</td>	<td>teemo</td>	<td>320</td>	<td>76</td></tr><tr ><td>3</td>	<td>annie</td>	<td>380</td>	<td>38</td></tr><tr ><td>4</td>	<td>deadbrother</td>	<td>400</td>	<td>90</td></tr>
</table>
id名称血量伤害
1gareen34058
2teemo32076
3annie38038
4deadbrother40090

prop与attr的区别

与prop一样attr也可以用来获取与设置元素的属性。
区别在于,对于自定义属性和选中属性的处理。
选中属性指的是 checked,selected 这2种属性

  1. 对于自定义属性 attr能够获取,prop不能获取

  2. 对于选中属性
    attr 只能获取初始值, 无论是否变化
    prop 能够访问变化后的值,并且以true|false的布尔型返回。
    所以在访问表单对象属性的时候,应该采用prop而非attr

jQuery prop() 方法

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.net/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){$("button").click(function(){$("#p1").html("attr('checked'): " + $("input").attr('checked')+ "<br>prop('checked'): " + $("input").prop('checked'));});
});
</script>
</head>
<body><p><b>注意:</b>确认或取消选中该复选框,然后单击按钮刷新内容。</p>
<button>查看attr() 和 prop() 的值</button>
<br><br>
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check me</label>
<p id="p1"></p></body>
</html>

在这里插入图片描述

3.事件

3.1 键盘事件

keydown 表示按下键盘
keypress 表示按住键盘
keyup 表示键盘弹起
这三者的区别分别表现在发生的 先后顺序,获取到的键盘按钮值,已经对输入框的文本取值这三方面
先后顺序: 按照 keydown keypress keyup 顺序发生
键盘按钮值:
通过event对象的which属性获取键盘的值
keydown和keyup 能获取所有按键,不能识别大小写
keypress 不能获取功能键,如F1 SHIFT等,能够识别大小写
文本取值:
keydown和keypress:不能获取最后一个字符
keyup: 获取所有字符
键盘事件代码说明

<script src="jquery.min.js"></script><script>var order = 0;  //计数器,判断语句调用的前后次序var clearTimer=null; //定时器$(function(){/*selector:触发事件的类型e:显示的信息$(this):触发事件的元素(#i).val()该元素的值*/$("#i").keydown(function(e){var selector = "keydown";show(selector,e,$(this).val());});$("#i").keypress(function(e){var selector = "keypress";show(selector,e,$(this).val());});$("#i").keyup(function(e){var selector = "keyup";show(selector,e,$(this).val());});});/*inputvalue:输入框的当前值,通常通过 $(this).val() 获取。*/function show(selector,e,inputvalue){clearTimeout(clearTimer);action(selector);key(selector,e);value(selector,inputvalue);clearTimer= setTimeout(clear,4000);}//行为 function action(selector){$("#"+selector+"Action").css("background-color","green");$("#"+selector+"Action").html("顺序: " + (++order ) );}//值function value(selector,value){$("#"+selector+"Value").html(value);}//按键function key(selector,e){$("#"+selector+"Key").html(e.which);}//清屏function clear(){order = 0; 6$("tr#action div").css("background-color","red");$("tr div").html("");}</script><style>tr#action div{border: 1px solid black;height:50px;background-color:red;}tr#value div,tr#key div{height:50px;background-color:#d1d1d1;}td{width:25%;}</style>输入框:<input id="i"><table width="100%"><tr><td></td><td>keydown</td><td>keypress</td><td>keyup</td></tr><tr id="action"><td>行为</td><td><div id="keydownAction"></div></td><td><div id="keypressAction"></div></td><td><div id="keyupAction"></div></td></tr><tr id="key"><td>按键</td><td><div id="keydownKey"></div></td><td><div id="keypressKey"></div></td><td><div id="keyupKey"></div></td></tr><tr id="value"><td>取值</td><td><div id="keydownValue"></div></td><td><div id="keypressValue"></div></td><td><div id="keyupValue"></div></td></tr></table>

3.2 鼠标事件

mousedown 表示鼠标按下
mouseup表示鼠标弹起

mousemove表示鼠标进入
mouseenter表示鼠标进入
mouseover表示鼠标进入

mouseleave表示鼠标离开
mouseout表示鼠标离开

进入事件有3个 mousemove mouseenter mouseover
mousemove :当鼠标进入元素,每移动一下都会被调用
mouseenter :当鼠标进入元素,调用一下,在其中移动,不调用
mouseover:当鼠标进入元素,调用一下,在其中移动,不调用

mouseenter 和 mouseover的区别
mouseenter: 当鼠标经过其子元素不会被调用
mouseover:当鼠标经过其子元素会被调用

mouseleave 和 mouseout的区别
mouseleave: 当鼠标经过其子元素不会被调用
mouseout:当鼠标经过其子元素会被调用

<script src="jquery.min.js"></script><script>
$(function(){$("#downup").mousedown(function(){$(this).html("鼠标按下");});$("#downup").mouseup(function(){$(this).html("鼠标弹起");});var moveNumber  =0;var enterNumber  =0;var leaveNumber  =0;var overNumber  =0;var outNumber  =0;var enterNumber1  =0;var overNumber1  =0;var leaveNumber1  =0;var outNumber1  =0;$("#move").mousemove(function(){$("#move span.number" ).html(++moveNumber);});$("#enter").mouseenter(function(){$("#enter span.number" ).html(++enterNumber);});$("#leave").mouseleave(function(){$("#leave span.number" ).html(++leaveNumber);});$("#over").mouseover(function(){$("#over span.number" ).html(++overNumber);});$("#out").mouseout(function(){$("#out span.number" ).html(++outNumber);});$("#enter1").mouseenter(function(){$("#enter1 span.number" ).html(++enterNumber1);});$("#over1").mouseover(function(){$("#over1 span.number" ).html(++overNumber1);});$("#leave1").mouseleave(function(){$("#leave1 span.number" ).html(++leaveNumber1);});$("#out1").mouseout(function(){$("#out1 span.number" ).html(++outNumber1);});});</script> <style>div{background-color:pink;margin:20px;padding:10px;}.subDiv{background-color:green;margin:10px;}.parentDiv{background-color:pink;height:80px;}table{width:100%;border-collapse:collapse;table-layout:fixed;}td{border: 1.5px solid #d1d1d1;vertical-align:top;padding:20 0;}</style><table ><tr><td width="100px">事件</td><td>效果演示</td></tr><tr><td>mousedown <br />mouseup<br /></td><td><button id="downup" style="margin-left:20px">鼠标按下弹起测试</button>    </td></tr><tr><td>mousemove<br />mouseenter<br />mouseover<br />mouseleave<br />mouseout</td><td><div id="move">mousemove 当鼠标进入元素,每移动一下都会被调用 次数<span class="number">0</span></div><div id="enter">mouseenter 当鼠标进入元素,调用一下,在其中移动,不调用 次数<span class="number">0</span></div><div id="over">mouseover 当鼠标进入元素,调用一下,在其中移动,不调用 次数<span class="number">0</span></div><div id="leave">mouseleave 当鼠标离开元素,调用一下 次数<span class="number">0</span></div><div id="out">mouseout 当鼠标离开元素,调用一下 <span class="number">0</span></div></tr><tr><td>mouseenter<br />mouseover/td><td><div id="enter1" class="parentDiv">mouseenter 经过其子元素不会被调用 次数 <span class="number">0</span><div class="subDiv">div中的子元素      </div></div><div id="over1" class="parentDiv">mouseover  经过其子元素会被调用 次数<span class="number">0</span><div class="subDiv">div中的子元素      </div></div>    </td></tr><tr><td>mouseleave<br />mouseout    </td><td><div id="leave1" class="parentDiv">mouseleave 经过其子元素不会被调用 次数<span class="number">0</span><div class="subDiv">div中的子元素      </div></div><div id="out1" class="parentDiv">mouseout 经过其子元素会被调用 次数<span class="number">0</span><div class="subDiv">div中的子元素      </div></div>    </td></tr></table>

3.3 事件绑定

所有的事件处理,都可以通过on() 绑定事件来处理

$("selector").on("event",function);

$(“selector”) : 通过dollar符号来选择元素
.on():用于为选定的元素绑定函数
event:表示要绑定的事件类型
function:当事件发生时,函数被调用

3.4 触发事件

文档加载好之后,就触发dblclick双击事件,而不是通过去手动双击。

$("selector").trigger("event");

4. AJAX

  • $.ajax({
    url: page,
    data:{“name”:value},
    success: function(result){
    $(“#checkResult”).html(result);
    }
    });

  • $.get(
    page,
    {“name”:value},
    function(result){
    $(“#checkResult”).html(result);
    }
    )

  • $.post(
    page,
    {“name”:value},
    function(result){
    $(“#checkResult”).html(result);
    }
    );

  • $(“#checkResult”).load(page);

  • var data = $(“#form”).serialize(); //serialize():格式化字符串的方法

5. 方法

$.trim() 去除首尾空白

6.JSON字符串和JSON对象

使用 $.parseJSON() 将JSON格式的字符串,转换为JSON对象
Json对象和Json字符串的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/689355.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++ STL 之栈—— stack 详解

vector 是 stl 的一个关联容器,名叫“栈”&#xff0c;何为“栈”&#xff1f;其实就是一个数组&#xff0c;但有了数组何必还需栈&#xff0c;这是一个高深的问题。 一、简介 1. 定义 栈&#xff0c;是一个柔性数组&#xff08;可变长数组&#xff09;&#xff0c;可以变大变小…

即插即用篇 | YOLOv8引入轴向注意力 Axial Attention | 多维变换器中的轴向注意力

本改进已集成到 YOLOv8-Magic 框架。 我们提出了Axial Transformers,这是一个基于自注意力的自回归模型,用于图像和其他组织为高维张量的数据。现有的自回归模型要么因高维数据的计算资源需求过大而受到限制,要么为了减少资源需求而在分布表达性或实现的便捷性上做出妥协。相…

【C语言】/*操作符(下)*/

目录 一、操作符的分类 二、二进制和进制转换 2.1 进制 2.2 进制之间的转换 三、原码、反码、补码 四、单目操作符 五、逗号表达式 六、下标引用操作符[] 七、函数调用操作符() 八、结构体成员访问操作符 8.1 直接访问操作符(.) 8.2 间接访问操作符(->) 九、操作符…

前端笔记-day04

文章目录 01-后代选择器02-子代选择器03-并集选择器04-交集选择器05-伪类选择器06-拓展-超链接伪类07-CSS特性-继承性08-CSS特性-层叠性09-CSS特性-优先级11-Emmet写法12-背景图13-背景图平铺方式14-背景图位置15-背景图缩放16-背景图固定17-background属性18-显示模式19-显示模…

OC foudation框架(下)的学习

OCfoudation框架&#xff08;下&#xff09; 前面学习了有关OCfoudation框架的部分内容&#xff0c;我们现在对于后面的内容继续学习。 文章目录 OCfoudation框架&#xff08;下&#xff09;数组&#xff08;NSArray和NSMutableArray&#xff09;对集合元素整体调用方法排序使用…

数据结构与算法学习笔记三---队列的链式存储表示和实现(C++)

目录 前言 1.队列的概念 2.队列的表示和实现 1.定义 1.初始化 2.入队 3.出队 4.获取队头元素 5.判断是否是空队列 6.完整代码 前言 这篇博客主要讲的是对队列的链式存储。 1.队列的概念 队列是一种访问受限的线性表。仅允许在表的一端进行插入操作&#xff0c;在表的…

n5.树(中)

1、二叉树的遍历 1.1先序、中序、后序遍历 先序遍历 根->左->右 先序遍历先访问根节点&#xff0c;再访问它的左子树&#xff0c;然后访问它的右子树。对于每次访问到的结点&#xff0c;都要递归地访问左子树、后右子树———递归。 创建 typedef struct TreeNode*…

更适合户外使用的开放式耳机,佩戴舒适音质悦耳,虹觅HOLME NEO体验

随着气温的逐渐升高&#xff0c;不管是在室内工作娱乐&#xff0c;还是到户外运动健身&#xff0c;戴上一款合适的耳机都会帮我们隔绝燥热与烦闷&#xff0c;享受音乐与生活。现在市面上的耳机类型特别多&#xff0c;我很喜欢那种分体式的开放耳机&#xff0c;感觉这种耳机设计…

关于各类软件下载及使用

文章目录 一、VS Code1、下载2、安装3、使用 二、Dev-C1、下载2、安装3、使用 三、VS20191、下载2、安装3、使用 四、IDEA1、下载2、安装3、使用 五、Fiddler1、下载1.1 官网下载1.2 文件下载 2、安装3、使用 一、VS Code 1、下载 2、安装 3、使用 二、Dev-C 1、下载 2、…

Centos7安装图形化界面

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; Centos7安装图形化界面https://myweb.myskillstree.cn/43.html 目录 一、安装GNOME桌面 二、开机自启动修改为命令行模式 三、卸载图形化界面 一、安装GN…

JavaScript 动态网页实例 —— 事件处理应用

前言 事件处理的应用很广泛。在事件处理的应用中,鼠标事件的应用是最常用到的。本章给出几个鼠标事件处理应用的示例,包括:页面预览、图像切换、点亮文本、鼠标跟随、鼠标感应和禁用鼠标按键。在这些示例中,有的可以直接拿来应用,有的则只提供了一种应用的方法,稍加拓展,…

【计算机网络】数据链路层的功能

数据链路层的基本功能&#xff1a; 封装成帧透明传输差错检测 数据链路层使用的信道主要有两种 点对点信道——PPP协议广播信道——CSMA/CD协议(有线局域网)、CSMA/CA协议(无线局域网) 数据链路层所处的地位 从图中可以看出&#xff0c;数据从主机H1送到主机H2需要在路径中…