JQUERY-修改-API-事件绑定
正课:
1. 修改:
2. 按节点间关系查找:
3. 添加,删除,克隆,替换:
4. 事件绑定:
1. 修改:
内容:
html片段: .html(["html片段"]) .innerHTML
text文本: .text(["文本"]) .textContent
表单元素值: .val(["值"]) .value
属性:
HTML标准属性:
$elem.attr("属性名"[,"值"])
代替: setAttribute() getAttribute();
简写: 可用一个attr,修改多个属性值:
$elem.attr({
属性名: "值",
... : ...
})
状态属性:
$elem.prop("状态名"[,true/false])
attr vs prop
本质: attr: 读取HTML中开始标签中的任意属性
prop: 读取内存对象中的属性
自定义扩展属性:
$elem.data("自定义扩展属性名"[,"值"])
//.dataset
样式:
$elem.css("css属性名","属性值")
强调: 单个数值,不用加px单位
修改时: 等效于elem.style.css属性
获取时: 等效于getComputedStyle()
简写: 同时修改多个css属性:
$elem.css({
css属性名:"值",
... : ...
})
问题: 代码繁琐
解决: 用class批量应用/撤销样式
$elem.addClass("class");
$elem.removeClass("class");
$elem.hasClass("class");
$elem.toggleClass("class")
等效: if(hasClass()) removeClass() else addClass()
2. 按节点间关系查找:
2大类关系:
1. 父子:
.parent() .parentNode
.children(["selector"]) .children
.find("selector") 在所有后代中查找符合条件的
.children().first() .firstElementChild
.children(":first")
.children(":first-child")
.children().last() .lastElemenChild
.children(":last")
.children(":last-child")
2. 兄弟:
.prev() .previousElementSibling
.prevAll(["selector"])
.next() .nextElementSibling
.nextAll(["selector"])
.siblings(["selector"])
3. 添加,删除,替换,克隆:
添加: 2步:
1. 用HTML代码片段创建新元素:
var $elem=$("html片段")
2. 将新元素添加到DOM树
$parent.append ($elem) //返回父元素,无法继续对新元素操作
$elem.appendTo("parent") //返回新元素,可继续对新元素操作
$parent.prepend($elem)
$elem.prependTo($parent)
$child.before($elem)
$child.after($elem)
简化: $parent.append/prepend("html")
删除: $elem.remove();
替换: $旧.replaceWith($新) //$旧
$新.replaceAll($旧) //$新
克隆: $elem.clone();
默认: 浅克隆: 只复制属性和样式,不复制行为
深克隆: 即复制属性和样式,又复制行为
$elem.clone(true)
4. 事件绑定:
鄙视: jquery中共有几种事件绑定方式,有什么不同?
DOM: .addEventListener();
.removeEventListener();
1. .bind()/.unbind()
.unbind() 3种重载:
.unbind("事件名",处理函数) 移除指定事件上的一个指定的处理函数
.unbind("事件名") 移除指定事件上绑定的所有处理函数
.unbind() 移除所有事件上的所有处理函数
2. .one() 绑定后,只触发一次处理函数,触发后自动解绑
3. .delegate() 事件委托
其实就是利用冒泡的简化版
$parent.delegate("selector","事件",function(){
var $tar=$(this);
})
.undelegate(...)
4. 废弃: .live/die() 废弃
5. .on()/off()
2个重载:
1. 代替bind, 2个参数: .on("事件名",function(){ ... })
2. 代替delegate, 3个参数:
.on("事件名","选择器",function(){ ... })
6. 更简化: .事件名()
JQUERY-修改-API-事件绑定的更多相关文章
- jQuery中的事件绑定方法
在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...
- 关于jQuery新的事件绑定机制on()的使用技巧
关于jQuery新的事件绑定机制on()的使用技巧 http://www.jb51.net/article/36064.htm 本篇文章介绍了,关于jQuery新的事件绑定机制on()的使用技巧.需要 ...
- Jquery中的事件绑定$("#btn").bind("click",function(){ })
Jquery中的事件绑定:$("#btn").bind("click",function(){ }) 由于每次都这么调用太麻烦,所以jquery就用$(&qu ...
- jQuery 中的事件绑定
一.事件概念 和数据库中的触发器一样,当操作了数据的时候会引发对应的触发器程序执行 一样,JS 中的事件就是对用户特定的行为作出相应的响应的过程,其实上就是浏览器 监听到用户的某些行为的时候会执行对应 ...
- JQuery实现click事件绑定与触发方法分析
原生JS通过什么方法绑定click事件? 原生js有一下三种方法为DOM对象绑定click事件, 第一种,在html中添加 onclick属性,在此属性中添加要绑定的事件函数,如下, 这种方法为htm ...
- jQuery 新添加元素事件绑定无效
jQuery中事件绑定,大多使用on就足够了. 但是对于新添加的元素 on 的绑定事件 会不起作用. 因为 append 中的 节点是在整个文档加载之后才添加的,页面并不会为未来的元素初始化添加点击事 ...
- jQuery插件 -- 动态事件绑定插件jquery.livequery.js
http://blog.csdn.net/zzq58157383/article/details/7721974 动态事件绑定插件livequery, 可以利用它给相应的DOM元素注册事件或者触发回调 ...
- jQuery新的事件绑定机制on()
浏览jQuery的deprecated列表,发现live()和die()在里面了,赶紧看了一下,发现从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理 ...
- jQuery三种事件绑定方式.bind(),.live(),.delegate()
.bind(), .live(), 和 .delegate()之间的区别并不明显.但是理解它们的不同之处有助于写出更简洁的代码,并防止我们的交互程序中出现没有预料到的bug. 基础 DOM树 首先,图 ...
- 用jQuery.delegate()将事件绑定在父元素上面
1.先看看官方的示例: <html> <head> <script type="text/javascript" src="/jquery/ ...
随机推荐
- django之缓存的用法, 文件形式与 redis的基本使用
django的缓存的用法讲解 1. django缓存: 缓存的机制出现主要是缓解了数据库的压力而存在的 2. 动态网站中,用户的请求都会去数据库中进行相应的操作,缓存的出现是提高了网站的并发量 3. ...
- 接口--Comparable接口【哈夫曼树】
我们在字符串中见到过CompareTo方法,知道这个方法是用于比较字符串顺序的,根据字典顺序进行排序.Java中很多类也都有CompareTo方法,甚至于排序算法的底层组成也是依赖于比较的,而这个比较 ...
- jenkins pipline 发送邮件
推荐一个好网站https://www.w3cschool.cn/jenkins/jenkins-e7bo28ol.html 获取git 用户信息// Get checkout output value ...
- 循环输入到列表的基础方法 -----python-----
print('向列表中添加元素(输入“#”结束)\n并查看添加完的列表') list1=[] while 1: username=input('>>>') if (username. ...
- css第二天
二丶 1.字体属性font: 字体名称(font-family)字体大小(font-size):pc中通常,字体大小表示为12px,14px.移动设备中通常表示为0.57rem.字体粗细(font-w ...
- SpringCloud Zuul网关的简单理解
Zuul网关功能 请求路由.服务路由.请求过滤 请求路由 参数配置如下所示,所有能够配置path规则的请求,都会被zuul网关转发到对应的url上. zuul.routes.user-service. ...
- C# Common Code
DatePicker 控件日期格式化,可以在App.xaml.cs中添加下面代码 方法一 不推荐: Thread.CurrentThread.CurrentCulture = (CultureInfo ...
- Scrapy中集成selenium
面对众多动态网站比如说淘宝等,一般情况下用selenium最好 那么如何集成selenium到scrapy中呢? 因为每一次request的请求都要经过中间件,所以写在中间件中最为合适 from se ...
- swift 关于FDFullscreenPopGesture的右滑返回
关于导航栏右滑返回的工具库 FDFullscreenPopGesture 是 OC 版本,用了 runtime 等各种骚操作 关于 swift ,我在 UINavigationController 的 ...
- 5N - 考试排名
C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点.它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么“AC”,要么错误,不管怎样错法,总是给你记上一笔,表明你曾经有过一次错误提 ...