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 Cookie和Seesion
1.cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生.cookie的工作原理是:由服务器产生内容,浏览器 ...
- 搭建Android浏览器壳子
搭建Android浏览器壳子 不久前我们要做一个Android端的手机APP,但没有用Android原生的组件, 而是把这个APP做成了一个访问某一固定IP的浏览器,即单纯的一个壳子: 具体的内容用V ...
- if __name__ == '__main__':用法
这个博主写的很好,已经验证过了.https://blog.csdn.net/yjk13703623757/article/details/77918633
- AHA高级心血管生命支持ACLS课前自我评估测试
AHA高级心血管生命支持ACLS课前自我评估测试 答题人:a 成绩单 您的得分:17.5 分 答对题数:7 题 您的名次:47 名 问卷满分:100 分 测试题数:40 题 参与人次:47 人 ...
- 关于导入zepto出错的问题
一.前言 webpack在配置多页面开发的时候 ,发现用 import 导入 Zepto 时,会报 Uncaught TypeError: Cannot read property 'createEl ...
- jenkins pipline 发送邮件
推荐一个好网站https://www.w3cschool.cn/jenkins/jenkins-e7bo28ol.html 获取git 用户信息// Get checkout output value ...
- kdtree HDU5992
STL里面的nth_element()函数 用法:nth_element(first,nth,last) int a[maxn]; nth_element(a,a+k,a+f); 作用:在a到a+f区 ...
- regex正则表达式学习
正则表达式 动机1. 处理文本成为计算机常见工作之一2. 对文本内容的搜索提取是一项比较复杂困难的工作3. 为了快速方便处理上述问题,正则表达式技术诞生,主键发展为一个被众多语言使用的独立技术 定义: ...
- Ubuntu 清除缓存 apt-get命令参数
整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家.常用的APT命令参数:apt-cache search package 搜索包apt-cache show packa ...
- npm与cnpm的install无反应
问题描述 1.npm -v检查版本正常,npm install安装依赖提示超时 2.cnpm -v检查版本正常,cnpm install安装依赖无反应(输入命令后没有任何提示,一直卡在那) 解决(参考 ...