正课:

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-事件绑定的更多相关文章

  1. jQuery中的事件绑定方法

    在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...

  2. 关于jQuery新的事件绑定机制on()的使用技巧

    关于jQuery新的事件绑定机制on()的使用技巧 http://www.jb51.net/article/36064.htm 本篇文章介绍了,关于jQuery新的事件绑定机制on()的使用技巧.需要 ...

  3. Jquery中的事件绑定$("#btn").bind("click",function(){ })

    Jquery中的事件绑定:$("#btn").bind("click",function(){  }) 由于每次都这么调用太麻烦,所以jquery就用$(&qu ...

  4. jQuery 中的事件绑定

    一.事件概念 和数据库中的触发器一样,当操作了数据的时候会引发对应的触发器程序执行 一样,JS 中的事件就是对用户特定的行为作出相应的响应的过程,其实上就是浏览器 监听到用户的某些行为的时候会执行对应 ...

  5. JQuery实现click事件绑定与触发方法分析

    原生JS通过什么方法绑定click事件? 原生js有一下三种方法为DOM对象绑定click事件, 第一种,在html中添加 onclick属性,在此属性中添加要绑定的事件函数,如下, 这种方法为htm ...

  6. jQuery 新添加元素事件绑定无效

    jQuery中事件绑定,大多使用on就足够了. 但是对于新添加的元素 on 的绑定事件 会不起作用. 因为 append 中的 节点是在整个文档加载之后才添加的,页面并不会为未来的元素初始化添加点击事 ...

  7. jQuery插件 -- 动态事件绑定插件jquery.livequery.js

    http://blog.csdn.net/zzq58157383/article/details/7721974 动态事件绑定插件livequery, 可以利用它给相应的DOM元素注册事件或者触发回调 ...

  8. jQuery新的事件绑定机制on()

    浏览jQuery的deprecated列表,发现live()和die()在里面了,赶紧看了一下,发现从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理 ...

  9. jQuery三种事件绑定方式.bind(),.live(),.delegate()

    .bind(), .live(), 和 .delegate()之间的区别并不明显.但是理解它们的不同之处有助于写出更简洁的代码,并防止我们的交互程序中出现没有预料到的bug. 基础 DOM树 首先,图 ...

  10. 用jQuery.delegate()将事件绑定在父元素上面

    1.先看看官方的示例: <html> <head> <script type="text/javascript" src="/jquery/ ...

随机推荐

  1. window Linux 双系统安装

    我是先安装的win10,然后在其基础上又安装了Ubuntu 16.04,为了今后再次安装方便,这里记录一下安装过程. 我在安装时主要参考了文章:https://blog.csdn.net/flyyuf ...

  2. Spark sql 在yarn-cluster模式下找不到表

    在hive里建一个数据库test,在数据库里建了一张表user,然后在Spark程序中使用Spark sql读取这张表 "select * form test.user" 当部署模 ...

  3. Unity4.3.4 安装出现 pattern not found

    第一次破解不成功,第二次破解的时候就会出现这个错误 删除C:\ProgramData\Unity里面文件后,再重启后点击Manual Activation,出现的对话框是是保存当前序列号?重新加载序列 ...

  4. springBoot、SpringCloud 常用注解

    1,@SpringBootApplication是springboot启动类的入口注解,标注在主启动类上:2,@EnableEurekaServer 是eureka服务端启动,接受其他服务注册进来,标 ...

  5. WEB的数据交互具体流程

    前一段时间小小的总结了一下,web的前后交互的各种方式可能没写全,后期再写,话不多说 前端传递数据到servlet,servlet获取数据后操作DAO修改数据库,然后servlet将某些参数返回到前端 ...

  6. 工程启动没有报错,但是dubbo后台显示没有提供者,工程没有提供服务

    先说一下我遇到的问题:服务工程启动没有异常,消费者工程启动会出现很多nested(嵌套的)错误,但其根本错误是No provider available(缺少服务提供者).可是服务工程起来的时候明明没 ...

  7. Vue父子组件生命过程

    加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount-& ...

  8. vue(一)vue-cli安装

    第一步:我们首先要全局安装vue官方提供的脚手架工具:vue-cli $ npm install vue-cli -g 第二步:然后我们就可以创建自己的vue项目了, $ vue init webpa ...

  9. LeetCode至 少有 1 位重复的数字

    给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数. 示例 1: 输入:20 输出:1 解释:具有至少 1 位重复数字的正数(<= 20)只有 11 . 示例 2: 输入:10 ...

  10. Jmeter Distributed (Remote) Testing: Master Slave Configuration

    What is Distributed Testing? DistributedTestingis a kind of testing which use multiple systems to pe ...