1、操作元素之属性:

  ①attr读:(“selector”).attr(“属性名”);=>getAttribute(“属性名”);改:

(“selector”).attr(“属性名”,值);=>setAttribute(“属性名”,值);*(*无法访问不再开始标签中存在的prop属性;例:checked,selected,disabled);

  ②prop读:(“selector”).prop(“属性名”);=>elem.属性名;改:

(“selector”).prop(“属性名”,值);

  ③移除属性:$(“selector”).removeAttr(“属性名”);=>removeAttribute(“属性名”);

2、操作元素之内容:

  ①html原文:读:(“selector”).html();=>elem.innerHTML;改:

(“selector”).html(“html片段”);=>elem.innerHTML=”html片段”;清空元素:$(“selector”).empty();=>elem.innerHTML=””;

  ②纯文本:读:(“selector”).text();=>elem.textContent/innerText;改:

(“selector”).text(“文本”);

  ③表单元素的value:读:(“selector”).val();改:

(“selector”).val(值);

3、操作元素之样式:

  ①直接操作CSS属性:(“selector”).css(“CSS属性名”);=>getComputedStyle();

(“selector”).css(“CSS属性名”,值);=>elem.style.CSS属性名=值;同时修改多个属性值:$(“selector”).css({属性名1:值1,属性名2:值2,……});*(css()能读取所有属性,但只能修改内联样式,属性名须去横线化驼峰);

  ②修改class属性:a、完整修改:(“selector”).attr(“class”,”类名”);b、追加:

(“selector”).addClass(“类名”);c、移除:(“selector”).removeClass(“类名”);d、清除:(“selector”).attr(“class”,””);或者(“selector”).removeClass();e、判断是否包含:

(“selector”).hasClass(“类名”);f、在有或没有指定类名之间切换:$(“selector”).toggleClass(”类名“);

4、遍历节点:

  ①获得父元素:$(“selector”).parent();=>elem.parentNode;或elem.parentElement;

  ②获得兄弟元素:下一个兄弟(“selector”).next([selector]);=>elem.nextElementSibling;前一个兄弟:

(“selector”).prev([selector]);=>elem.previousElementSibling;其他兄弟:$(“selector”).siblings([selector]);

  ③子元素:直接子元素:(“selector”).children([selector]);所有子代元素:

(“selector”).find(selector);*(find()必须加selector);

5、添加:

  ①创建节点:var elem=

(“完整html元素代码段”);

  ②添加:追加到parent下所有子节点末尾:(parent).append(

elem);作为parent的第一个子节点插入:(parent).prepend(elem);插入到child之后:(child).after(elem);插入到child之前:       (child).before(

elem);

6、其它操作:

  ①删除:$(要删除的元素).remove();

  ②替换:(old).replaceWith(新元素);或

(新元素).replaceAll(old);

  ③复制:var clone=

(“selector”).clone([true]);*(true:为深度克隆包括事件处理函数);

7、事件绑定之bind:

  ①$(…).bind(“事件名”,fn)=>addEventListener;为同一元素的事件处理函数绑定多个函数对象;

  ②$(…).unbind(“事件名”,fn)=>removeEventListener;如果有可能移除事件处理函数,则绑定时必须用实名函数绑定,不能用匿名函数;重载:a、不带任何参数:移除元素上所有事件处理函数绑定;b、只带一个事件名称参数:移除元素上指定事件名称绑定的所有函数对象;c、带两个参数:仅移除事件元素上指定事件名称绑定的执行的函数对象;

8、事件绑定之delegate:

  ①事件代理:让指定父元素下所有符合要求的子元素都能使用事件处理函数(包括生成);原理:利用事件冒泡:a、仅将事件处理函数绑定在父元素;b、获得目标元素:e.target;c、仅响应符合条件的元素的事件;

  ②事件代理使用:将事件绑定到parent上(利用冒泡),只有符合selector条件的元素才能响应事件;(parent).delegate(“selector”,“事件名”,function(e)e.target);移除绑定:

(parent).undelegate(“selector”,”事件名”,function(e){e.target});

9、其它绑定:

  ①一次性事件:$(…).one(“事件名”,fn);只能执行一次事件处理函数,执行后自动解除;

  ②将元素所有事件绑定到document:(…).live(“事件名”,fn);

(…).die(“事件名”,fn);

  ③仅为一个元素绑定事件处理函数:$(“target”).on(“事件名”,fn);

  ④利用冒泡:$(“parent”).on(“事件名”,“selector”,fn);解除绑定off;

It's never too old to learn!
转载自http://www.cnblogs.com/Jupiter258/p/6032895.html

jQuery之元素操作及事件绑定的更多相关文章

  1. jQuery_02之元素操作及事件绑定

    1.操作元素之属性: ①attr读:$("selector").attr("属性名"):=>getAttribute("属性名"):改 ...

  2. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  3. 深度解析JQuery Dom元素操作技巧

    深度解析JQuery Dom元素操作技巧 DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件,这篇文章给大家介绍了JQuery dom元素操作方法,写的十分的全面细 ...

  4. jquery的链式操作以及事件绑定

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. jQuery文本框(input textare)事件绑定方法教程

    jquery 的事件绑定已经用on替换了原来的bind,接下来为大家分享下bind的使用方法及input textare事件.目前1.7以上,jquery?的事件绑定已经用on替换了原来的bind,接 ...

  6. python_way day17 jQuery表单验证,事件绑定,插件,文本框架,正则表达式

    python_way day17 1.jQuery表单验证 dom事件绑定 jquery事件绑定 $.each return值的判断 jquery扩展方法 2.前段插件 3.jDango文本框架 4. ...

  7. vue样式操作与事件绑定

    Vue笔记 1 Vue实例 (VM) var vm = new Vue({    el:'#app', //挂载元素        //数据    data: {        title:'值', ...

  8. 14-1 jquery的dom操作和事件对象

    一 jquery的操作有,插入,修改,删除,克隆.具体见下方代码实例: <!DOCTYPE html> <html lang="en"> <head& ...

  9. Jquery 页面元素动态添加后绑定事件丢失方法,非 live

    代码1: 以此方法绑定的input框事件,在通过add按钮后用jquery绑定的事件 alert就会丢失 <input type="button" value="A ...

随机推荐

  1. [knowledge][basic][hardware] 内存的硬件结构(转)

    写的并不太易懂,但概念性的科普已足够. 原文地址:http://blog.csdn.net/miaomao1989/article/details/51508195 Memory中的Channel/R ...

  2. discuz安装

    1.upload文件复制到根目录下,访问,安装 2.数据库需要提前建好 3.数据库地址默认是localhost,我安装时是127.0.0.1 4.最好在本地安装时,配置本地域名和线上域名一样,不然迁移 ...

  3. LeetCode Strobogrammatic Number

    原题链接在这里:https://leetcode.com/problems/strobogrammatic-number/ 题目: A strobogrammatic number is a numb ...

  4. 透过proxy进行docker pull(Centos6.8)

    由于必须通过proxy代理上网. 使用docker pull时一直出现如下错误: [root@centoo65 ~]# sudo HTTP_PROXY=http://186.100.4.107:808 ...

  5. java学习规划

    今天在网上看到一位大学生的java学习线路规划,觉得蛮适合我,就详细阅读了一下,规划路线应该适用于大部分学习java语言的人,贴出来与大家共勉. 在学习的过程中,不能急于去学习更多的知识,因为知识是无 ...

  6. CsvHelper

    写66666行两个数字 用CsvHelper里的ExcelSerializer 400ms SaveAs 200ms 共600ms 直接用StreamWriter 150ms 行数可以超过65536 ...

  7. javascript面向对象详解

    认识面向对象 1.面向对象中的概念 一切事物皆对象 对象具有封装和继承特性 信息隐藏 2.基本面向对象 3.函数构造器构造对象 深入了解面向对象 第一种书写格式 第二种书写格式

  8. Live writer

    使用起来还是蛮方便的,安装速度很快,配置也不麻烦.

  9. 【转】PowerShell入门(五):Cmd命令与PowerShell命令的交互

    转至:http://www.cnblogs.com/ceachy/archive/2013/02/18/Call_Between_Cmd_And_PowerShell.html 单独使用一种脚本来完成 ...

  10. MySQL中select * for update锁表的问题

    MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例 ...