jQuery学习03

1. jQuery操作DOM
1.1 操作DOM元素的属性
1.1.1 设置属性
attr(name, value);设置单个属性和属性的值。
attr(obj);obj:{name:value,name:value...}设置多个属性和属性的值。
如果元素已经存在对象的属性,这将原来的属性值修改为设置的值,如果属性不存在,则添加指定的属性和属性值。
1.1.2 获取属性
attr(name);获取指定的属性值。
如果元素中没有要获取的属性则返回undefined。
1.1.3 移除属性
removeAttr(name);移除指定的属性,如果不传入参数则无效。
1.1.4 修改单属性的值
单属性有checked、selected、disable等。
prop()的用法和attr()一致,prop()可以获取这些单属性的值,获取的值为true或者false,而attr()获取的值不是boolean。
1.2 操作值
这里操作的是表单元素的value值。
1.2.1 获取值
val();获取表单元素的value值。
1.2.2 设置值
val(value);设置值。
select标签中没有value值,但是在给select设置value值时,如果select下面的option中value中与设置的value值一致的话,这个option会被select选中。如果没有对应的option,则选中空白。
1.3 操作内容
1.3.1 获取内容
text():不会获取到html标签,只获取标签之间的内容。
html():会获取到整个标签,包括标签本身。
1.3.2 设置内容
text(content):如果内容中有html标签,会对html标签进行转义,并整体输出。
html(htmlStr):如果有html标签,会把这部分内容转换成对应的元素,再展现出来。
1.4 操作尺寸
尺寸:width和height。
1.4.1 获取尺寸
height():获取高度,获取到的值为数值类型。
width():获取宽度,获取到的值为数值类型。
1.4.2 设置尺寸
height(hegiht):设置高度,值必须为数值类型。
width(width):设置宽度,值必须为数值类型。
1.4.2 与css()操作尺寸的区别
通过css()获取到的高度和宽度值为带单位的字符串,无法进行数学运算。
通过width和height获取到的是一个数字,可进行运算后改变尺寸。
1.5 操作坐标
1.5.1 获取坐标
offset();获取的是当前元素相对于整个文档左上角的距离。返回值是一个对象{top:xx, left:xx}。
position();获取的是当前元素相对于有定位的父元素的左上角的距离,如果父元素没有定位,继续往有定位的,直到找到body。
1.5.2 设置坐标
offset({left:xx,top:xxx});如果设置的元素没有设置定位,则默认叫该元素的定位更改为relative。
1.6 操作滚动距离
1.6.1 获取滚动条的滚动值
scrollTop():获取纵向滚动条的滚动距离。
scrollLeft():获取的横向滚动条的滚动距离。
1.6.2 设置滚动条的滚动值
scrollTop(top);设置的值必须为数值类型的。
scrollLeft(left);设置的值必须为数值类型的。
2. jQuery事件机制
2.1 事件绑定on
2.1.1 给自身绑定事件
on(types,function):给自身绑定多个事件。动态创建的元素没有绑定到事件。
2.1.2 代理绑定、事件委托
on(types,selector,data,function):给父元素绑定事件,当后代元素中有指定选择器触发了事件,则通过事件冒泡的形式,让父元素执行事件处理函数。
第一个参数:types,字符串,由多个事件类型组成,不同事件类型之间通过空格隔开。
第二个参数:selector, 指定子元素中能通过事件冒泡的形式将指定的事件类型传递给父元素。
第三个参数:data,传递给处理函数的数据,注册事件时就将参数对应的值已经保存至event.data中,函数执行时调用event.data。
第四个参数:handler,事件处理函数。
2.2 事件解绑off
2.2.1 解除所有绑定事件
off():不传参数时,解绑元素所有的已注册事件。
2.2.2 解除指定的绑定事件
off(types):解绑指定的事件类型,自身和委托事件都会被解绑。
2.2.3 解除委托事件
off(types,"**"):解绑指定的委托事件类型,自身对应的事件类型保留。
2.3 触发事件
2.3.1 直接触发事件
jQueryobj.事件类型()的方式直接调用事件,可以触发元素对应的事件类型。
2.3.2 trigger(type)
type为要触发的事件的事件类型。
2.3.3 triggerHandler(type)
type为要触发的事件类型,但是这种方式的触发不会触发浏览器的默认行为。
2.4 事件对象
2.4.1 event.type
获取到的是触发的事件类型
2.4.2 event.target/event.currentTarget/event.delegateTarget
event.target:第一个触发事件的元素。
event.currentTarget:当前触发事件的元素,等同于this。
event.delegateTarget:代理事件的对象。
2.4.3 event.data
在注册事件的时候,传入的一个数据。
2.4.4 screen/offset/page/client
event.screenX/event.screentY:获取的是鼠标距离电脑屏幕左上角的距离。
event.offsetX/event.offsetY:获取的是鼠标距离当前元素的左上角的距离。
event.pageX/event.pageY:获取的是鼠标距离整个文档左上角的距离,相当于event.clientX/event.clientY的距离加上滚动条的滚动距离。
event.clientX/event.clientY:获取是鼠标相对于页面可视区域左上角的距离。
2.4.5 stopPropagation/preventDefault
event.stopPropagation():阻止事件冒泡。
event.preventDefault():阻止浏览器默认行为。
如果函数中return false;则同时阻止该事件的事件冒泡和阻止当前元素触发事件时的浏览器默认行为。

时间: 2024-09-30 15:13:40

jQuery学习03的相关文章

jQuery 学习03——HTML:捕获、设置、添加元素、删除元素、CSS类、CSS()方法、尺寸

jQuery - 获取内容text().html() 以及 val()和属性attr() jQuery 中非常重要的部分,就是操作 DOM 的能力. DOM = Document Object Model(文档对象模型) 三个用于 DOM 操作的 jQuery 方法(获取内容): text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的(值) 例1:通过 jQuery val() 方法获得输入字段的值

前端jquery学习--03

1.tab切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style>

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

jquery学习(一)

简单的jquery学习,首先在页面引入jquery <!-- 引入jquery --> <script src="js/jquery-1.8.3.js" type="text/javascript"></script> 首先一定要注意的是引入的路径 按照案例写一个简单的DEMO <%@ page language="java" contentType="text/html; charset=UT

Js脚本之jQuery学习笔记(1)

Js脚本之jQuery学习笔记(1) 一.javascript基础 单行注释 多行注释 /* */ 数据类型 数值型 字符串型 布尔型 空值 未定义值 转义字符 函数定义:1234567891011121314<head><script language="javascript"function test(m){var xixi="嘻嘻"alert("这是javascript")document.write(xixi + m)}

jQuery学习总结(一)

jQuery学习完了,但是感觉知识点很杂,想JavaScript一样,所以还是总结一下比较好. 1.DOCTYPE 在每次的html页面前都会有这样一句话,那么它有什么作用呢? DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档.也就是告知浏览器的渲染显示方式. 2.新的方法--专属jQuery (1)$()方法: 可以通过$()方法来获得页面的指定节点,参数是某种CSS的选择器. var userN

jQuery学习-事件之绑定事件(三)

在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event, handlers ) {         var sel, handleObj, matches, i,             handlerQueue = [],             delegateCount = handlers.delegateCount,             cur =

设计模式学习03—抽象工厂模式

1.动机与定义 工厂模式中,一个工厂仅仅能提供一个或一类产品,当产品种类较多,形成产品系列(比方我们要创建跨平台的button,菜单,文本框等等一系列GUI控件: 单纯使用工厂模式会产生大量工厂,并且后期维护也不方便,我们能够从产品中找到规律,假设产品等级相对固定,以后仅仅会新增产品族,那么我们就能够把整个产品族放到一个工厂创建,以后新增其它系统产品族也很方便,例如以下图: 这样的模式就是抽象工厂,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则须要面对多个产品等级结构,一个工厂等级结构能

jQuery学习-------jQuery选择器

基本选择器: id选择器:$("#id") 标签选择器:$("tag") 类选择器:$(".classname") 通配选择器:$("*") 组选择器:$("selector1,selector2,...,selectorN") 层次选择器: 包含选择器:$("ancestor descendant") 子选择器:$("parent>child") 相邻选择器: