锋利的jQuery-读书笔记3
本文总阅读量次
前言
前阵子在知乎上看到有一个问题是:“JQ有没有过时”,感觉最悲惨的事情莫过于,你还是刚刚开始熟练,别人却在讨论JQ的过时。随着ES6的诞生,还有AngularJS,ReactJS以及等等的出现,JQ的使用频率确实大不如前。但JQ的思想一直会存在,及时其被抹去了JQ这两个字的标识。 作为一个新手,我还是老老实实看书比较好。。
JQuery中的DOM操作
概念
首先,将我以前一直分不太清的DOM操作分了个类。 - DOM Core 只要支持DOM语言设计的都可以支持使用它,用途不限于网页,可以处理任何一种使用标记语言写出来的文档,比如XML(然而我并不知道这个是什么鬼),for example: getElementById() - HTML-DOM 只能操作HTML,相比DOM而言一般简单一些,比如表单的一些操作:document.forms,比如src属性的获取:elements.src; - CSS-DOM 针对css操作,主要是通过style实现的,如element.style.color等等
查找节点
- 元素节点 主要通过$()实现,或者通过$().text(),获取文本节点,
- 属性节点 主要通过attr();
创建节点
一个$('要创建的内容') 搞定,元素,文本,属性,都直接写在里面,简单粗暴,一方面也遭人诟病。
插入节点
- append()、appendTo()
- prepend()、prependTo()
- before()、 insertBefore()
- after()、insertAfter() 太简单,不细说
删除节点
- remove() 特点:返回值是删除的元素,可以传参进行筛选,绑定事件会永久删除
- detach() 特点:与remove()区别,不会删除绑定事件
- empty() 特点:删除后代节点,这个使用可会“断子绝孙”啊。。。
复制节点
- clone() 特点:参数传入true,会复制绑定事件
替换节点
- replaceWith()
- replaceAll()
一个主动一个被动,replaceWith()主动
注:会抹去元素的绑定事件。
包裹节点
- wrap()
- wrapAll()
- wrapInner()
这个可不是一个主动一个被动,wrap()是单个打包
如 .
wrapAll()就霸道多了, 打包所有的,而且还把非的东西都丢在袋子外面(元素节点后面)。
wrapInner()是内部打包,相当于给里面所有的元素多套了一层袋子。 对应就是html()/text()/val()
说下val()的一个独特用法,可以选中seclect/checkbox/radio
如select的ID为sel,则通过 我是一个刚刚闯进前端的小学生,如果上文中有什么错误的地方,还请您指正,不甚感激!$('strong').wrap('<p></p>')
是HTML中每一个外面都包裹一个$('strong').wrapAll('<p></p>')
不仅只用一个袋子属性操作
样式操作(个人理解就是class操作)
设置获取HTML、文本和值
$('#sel').val(['value值',…])
可以呈现选中某些选框的效果遍历节点
CSS-DOM操作