jQuery学习笔记之DOM操作、事件绑定(2)
————————————————————学习目录————————————————————————
4.DOM操作
5.事件绑定

源码地址:

https://github.com/iyun/jQueryDemo.git

————————————————————学习目录————————————————————————
4.DOM操作(节点增删改查)

节点查找:节点分为三种类型:元素节点、属性节点、文本节点

创建节点
创建元素节点
使用 jQuery 的工厂函数 $(HTML) 。该工厂函数会根据传入的 html 标记字符串创建一个 DOM 对象, 并把这个 DOM 对象包装成一个 jQuery 对象返回。
当创建单个元素时, 需注意闭合标签。

var $option = $("<option></option>");
创建文本节点创建元素节点后,使用text()方法来设置其节点的文本内容。
$option.text("北京");
    创建元素节点时,直接将其节点的文本内容插入其中。
var $option = $("<option>北京</option>");
创建属性节点创建元素节点后,使用attr()方法来设置其节点的属性。
$option.attr("value","北京");
    创建元素节点时,直接将其节点的属性插入其中。
var $option = $("<option value="北京">北京</option>");

插入节点
内部插入节点
append(content) :向每个匹配的元素的内部的结尾处追加内容
appendTo(content) :将每个匹配的元素追加到指定的元素中的内部结尾处
prepend(content):向每个匹配的元素的内部的开始处插入内容
prependTo(content) :将每个匹配的元素插入到指定的元素内部的开始处外部插入节点
after(content) :在每个匹配的元素之后插入内容
before(content):在每个匹配的元素之前插入内容
insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面
insertBefore(content) :把所有匹配的元素插入到另一个、指定的元素元素集合的前面

删除节点
remove(): 从 DOM 中删除所有匹配的元素, 传入的参数用于根据 jQuery 表达式来筛选元素. 当某个节点用 remove() 方法删除后, 该节点所包含的所有后代节点将被同时删除. 这个方法的返回值是一个指向已被删除的节点的引用。
empty(): 清空节点 – 清空元素中的所有后代节点(不包含属性节点)。

复制节点
clone(): 克隆匹配的 DOM 元素, 返回值为克隆后的副本. 但此时复制的新节点不具有任何行为.
clone(true): 复制元素的同时也复制元素中的的事件

        <button>保存</button><p>段落</p>$("button").click(function(){alert("点击按钮");});//克隆节点,不克隆事件$("button").clone().appendTo("p");//克隆节点,克隆事件$("button").clone(true).appendTo("p");

替换节点
replaceWith(): 将所有匹配的元素都替换为指定的 HTML 或 DOM 元素
replaceAll(): 颠倒了的 replaceWith() 方法.
注意: 若在替换之前, 已经在元素上绑定了事件, 替换后原先绑定的事件会与原先的元素一起消失

            //<p>段落</p>//方式一$("p").replaceWith("<button>登陆</button>");//方式二$("<button>登陆</button>").replaceAll("p");

属性操作
attr(): 获取属性和设置属性。
当为该方法传递一个参数时, 即为某元素的获取指定属性。
当为该方法传递两个参数时, 即为某元素设置指定属性的值。
jQuery 中有很多方法都是一个函数实现获取和设置. 如: attr(), html(), text(), val(), height(), width(), css() 等。
removeAttr(“属性名”): 删除指定元素的指定属性

样式操作
获取 class 和设置 class :class 是元素的一个属性, 所以获取 class 和设置 class 都可以使用 attr() 方法来完成。
追加样式:addClass()
移除样式:removeClass() — 从匹配的元素中删除全部或指定的 class
切换样式:toggleClass() — 控制样式上的重复切换.如果类名存在则删除它, 如果类名不存在则添加它。
判断是否含有某个样式:hasClass() — 判断元素中是否含有某个 class, 如果有, 则返回 true; 否则返回 false。

遍历节点
取得匹配元素的所有子元素组成的集合: children(). 该方法只考虑子元素而不考虑任何后代元素.
取得匹配元素后面紧邻的同辈元素下一个元素:next();
取得匹配元素前面紧邻的同辈元素上一个元素:prev()
取得匹配元素前后所有的同辈元素: siblings()
在jQuery中还有很多遍历节点的方法,具体参看API帮助文档。

包裹节点
wrap()

        <strong title="jQuery">jQuery</strong><strong title="jQuery">jQuery</strong>//jQuery代码如下:$("strong").wrap("<b></b>");//得到的结果如下<b><strong title="jQuery">jQuery</strong></b><b><strong title="jQuery">jQuery</strong></b>
wrapAll()
        <strong title="jQuery">jQuery</strong><strong title="jQuery">jQuery</strong>//jQuery代码如下:$("strong").wrapAll("<b></b>");//得到的结果如下<b><strong title="jQuery">jQuery</strong><strong title="jQuery">jQuery</strong></b>
wrapInner()
        <strong title="jQuery">jQuery</strong>//jQuery代码如下:$("strong"). wrapInner("<b></b>");//得到的结果如下<strong title="jQuery"><b>jQuery</b></strong>

5.jQuery 中的事件
在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件.
在常规的 JavaScript 代码中, 通常使用 window.onload 方法, 在 jQuery 中使用$(document).ready() 方法.

面试题:
1.在js里面可以使用widow.οnlοad= 当页面上面所有的元素加载完毕之后执行触发。
2.$(function(){}) == window.jQuery(document).ready(function());
两者的区别:
执行时机:window.onload它需要等待页面上面所有元素都加载完毕,包括图片,src=“”
$(function(){})只需要页面上面的dom元素绘制完毕之后就执行,不含图片或者第三方的连接地址…

事件绑定
我们除了可以直接为页面的元素增加事件,也可以利用bind()方法为页面元素来绑定事件。
语法:bind(type, [data], fn)
参数type:含有一个或多个事件类型的字符串。
提供可以绑定的事件有:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error。
参数data:作为event.data属性值传递给事件对象的额外数据对象。如{username:"雷"} json格式 alert(event.data.username);
参数fn:绑定到每个匹配元素的事件上面的处理函数。

事件解绑unbind

//浏览器提供一个对象用来调试,即控制台信息`console.info(event);`
常用:`mouseover mouseout`

jQuery学习笔记之DOM操作、事件绑定(2)相关推荐

  1. jQuery 学习笔记(三)——事件与应用

    页面加载时触发ready()事件 ready()事件类似于onLoad()事件,但前者只要页面的DOM结构加载后便触发,而后者必须在页面全部元素加载成功才触发,ready()可以写多个,按顺序执行.此 ...

  2. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

    JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...

  3. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) from:jpr1990

    JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(js ...

  4. jQuery学习笔记--JqGrid相关操作 方法列表(上)

    1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(json):$("#gridi ...

  5. JavaScript程序库jQuery学习笔记分享(二)jQuery对象和DOM操作,和其他js库冲突处理

    今天我继续更新jQuery学习笔记,最近考试比较忙,也就更新的比较慢了,这里向大家说一声抱歉,嘻嘻. 让那不愉快的情绪过去吧,继续进行我们的jQuery之旅吧. 一:jQuery对象和DOM对象 1. ...

  6. html添加删除元素属性,jQuery学习笔记——.attr()和.removeAttr()方法操作元素属性

    今天主要和大家一起分享一下如何使用jQuery的jQuery就可以让我们轻松的读取,添加,更改或删除一个(或多个)元素中的任何属性,在jQuery中我们可以使用下面的方法来实现:.attr():jQu ...

  7. jQuery学习笔记(二)

    jQuery学习笔记(二) 二.管理jQuery包装集 1.创建新的元素 使用HTML DOM 创建元素 var select=document.createElement("select& ...

  8. javaweb(03) jQuery学习笔记

    javaweb(03) jQuery学习笔记 jQuery介绍 什么是jQuery jQuery,顾名思义,也就是 JavaScript 和查询(Query),它就是辅助 JavaScript 开发的 ...

  9. jQuery学习笔记--目录

    jQuery学习笔记--Helloworld jQuery学习笔记--DOM对象和jQuery对象 jQuery学习笔记--jQuery选择器 jQuery学习笔记--jQuery的DOM操作 jQu ...

最新文章

  1. 谷歌跟随微软加入云安全联盟 亚马逊依然游离
  2. 算法(6) —— AVL树
  3. 十、散列表(Hash Table)
  4. C语言实现通用链表初步(二)
  5. 三个对CS最大的谬误
  6. echars 在vue v-if 切换会 显示不出来或者显示出来但是不是百分百显示
  7. 23种设计模式详解_太厉害了,清华大牛一个坦克项目就把23种设计模式给抽丝剥茧了...
  8. 去医院看病如何开开心心出来? | 今日最佳
  9. leetcode(动态规划专题)
  10. python 数据结构包_python 中numpy科学计算工具包——基础数据结构
  11. Windows2000系统下Apache2和PHP4安装终级宝典
  12. 简单版WAF代码学习
  13. 解除隐藏文件cmd命令_cmd命令怎么隐藏电脑上的文件
  14. 英文破折号(em dash)、连接号(en dash)与连字符(hyphen)的区别及各自用法是什么?...
  15. 微信小程序开发之——音乐播放器-播放器(3.4)
  16. java qq登陆 server_java实现QQ互联登录
  17. 01-什么是架构、架构的目的
  18. CCTV-2《遇见大咖》专访雷军----笔记记录
  19. 新闻信息传播的新平台——微博初探
  20. 目标检测算法回顾之传统算法

热门文章

  1. Javascript基础系列之(六)循环语句(do while循环)
  2. android自动化测试工具之monkey
  3. 解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题
  4. 那些年我用过的开源软件、框架
  5. Digg:私人制造的时代
  6. Zookeeper基于Java 访问-节点权限设置
  7. MyBatis 源码解读-mapperElement()
  8. BeanFactory 和ApplicationContext 有什么区别?
  9. SQLExceptionTranslator
  10. aop简介-基于cglib的动态