前端实训-中级阶段(六)-jQuery元素节点操作(2019-07-18期)
时间:2023-04-02 22:55:24
HTML
最基础的前端就是HTML+CSS+Javascript。掌握这三项技术算是入门,但也只是入门而已。现在前端开发的定义远不止于此。前端小课堂(HTML/CSS/JS),本着提高技术水平,夯实基础知识的中心思想,开课(每周四)。上一节,我们讲了jQuery的基本使用。本节我们讲讲元素节点相关的内容。ContentDirectorySelectorDocumentProcessingFilterSelector开头提到了Selectors。上一节也简单列出。这一节,我们来说说一些风骚的事情。Sizzle选择器引擎首先询问DOM的API搜索性能。你知道吗?从快到慢ID>Class>Name>Tag。你知道CSS选择器的匹配顺序吗?关于jQuery的选择器从左到右的匹配顺序,有什么你不知道的吗?Sizzle选择器引擎从左到右运行。当然,既然优秀,那肯定是有道理的。如果它支持更快的querySelector将选择更快的方法。如果有id选择器,他会??先选择id来缩小范围。有兴趣的可以看看Sizzle选择器引擎的介绍。能看懂源码当然更好。举个栗子查询语句:$('divspan')代码结构:divdivdivspandivspan如果先查div,需要遍历多少次?做两次可以吗?但是如果我们先检查跨度,那么我们的父母就会寻找它,直到找到头部,我们就完成了。再说一个,子节点只有一个父节点。但是父节点会有很多子节点。文档处理append、appendTo和prepend、prependTo对父子节点进行操作,效果也等同于原生API。移动现有节点,并添加新节点。parent.append(child)是将child添加到parent的末尾。链操作对象是父对象。对应原生的appendChildchild.appendTo(parent)就是在parent的末尾添加child。链操作对象是child。parent.prepend(child)是将child添加到parent的前面。链操作对象是父对象。child.prependTo(parent)就是把child加到parent前面。链操作对象是child。insertAfter、after和insertBefore、before对兄弟节点进行操作,效果同上。A.after(B)是在A之后添加B。链式操作的对象是AB。insertAfter(A)是在A之后添加B。链式操作的对象是BA.before(B)是在A中添加B。A的前面。链式操作对象是AB。insertBefore(A)是将B添加到A的前面。链式操作对象是Bwrap、unwrap、wrapall、wrapInner、replaceWith、replaceAll。老实说,我从来没有用过这些。$("a").wrap("
")的意思是把所有的a标签用下面的节点包裹起来。$('li').unwrap()删除它们的父节点。也就是说,所有的子节点都占据了原来父节点的位置。$("a").wrapAll("
")表示将所有标签合并到第一个位置并换行。$("a").wrapInner("
")是指将a标签的内容用b标签包裹起来。$("a").replaceWith('
lilnong.top')用新标签替换所有a标签。那么连锁经营的对象是谁呢?$('lilnong.top').replaceAll("a")用新标签替换所有a标签。那么连锁经营的对象是谁呢?empty,remove,detach$("a").empty()删除匹配元素集中的所有子节点。$("a").remove()从DOM中移除所有匹配的元素。此方法不会从jQuery对象中删除匹配的元素,因此它们可以在将来重用。但是除了元素本身被保留之外,其他的比如绑定的事件和额外的数据都会被移除。$("a").detach()从DOM中移除所有匹配的元素。此方法不会从jQuery对象中删除匹配的元素,因此它们可以在将来重用。与remove()不同,所有绑定事件、附加数据等都被保留。clone([Event[,deepEven]])克隆一个副本。我们知道如果这个元素在文档内部,那么上面的方法就会变成mobile。当我们不想移动时,我们需要克隆。event:一个布尔值(true或false),指示是否复制事件处理程序。V1.5+的默认值是:falsedeepEven:一个布尔值,指示是否应该复制事件处理程序和克隆元素数据的所有子元素。filterhasClass(class)判断当前元素是否有对应的class。比如我们模拟一个复选框,需要判断当前状态。$(this).hasClass('checked')filter(class)例如,我们有一个所有复选框的集合,我们想过滤掉所有选中的。next()获取下一个元素nextAll()获取后面所有元素nextUntil()获取后面所有元素,可以设置终止条件。parent(),prev()基本都有next()相识siblings()获取所有兄弟元素的方法end()这个方法我觉得很强大,它把当前的链式操作对象转移到上一次。$("p").find("span").end()目前操作在$("p")等等...我会列出这些常用的。微信公众号:前端linong初级阶段文章目录前端训练-初级阶段(17)-数据存储(cookie、session、stroage)前端训练-初级阶段(13)-正则表达式前端训练-初级阶段(13)-类、模块、继承前端培训-初级阶段(13)-ECMAScript(内置对象、函数)前端培训-初级阶段(13)-ECMAScript(语法、变量、值,types,operators,statements)前端训练-初级(13,18)前端训练-初级(9-12)前端训练-初级(5-8)前端训练-初级(1-4)中级文章目录前端训练-中级(2)-事件(event)事件冒泡与捕获-(2019-06-20)前端训练-中级(3)-DOM文档对象model(2019-06-27)前端实训-中级(4)-BOM浏览器对象Model(2019-07-04期)前端实训-中级(5)-jQuery的概念和基本使用(2019-07-11期)资讯前端培训目录,前端培训计划,前端培训计划jQuery速查地址