标签 jquery 下的文章

jQuery源码分析(十四): 节点遍历


起步

遍历简单的讲就是对数据中的每一个元素都查询一遍,不同的数据结构有不同的遍历方式,如数据通过索引遍历,链表通过指针遍历。遍历的方法也有所不同,如树的遍历分为前序遍历,中序遍历,后序遍历。

jq中的遍历包括了过滤,查找和串联元素。来自w3school的解释:

jQuery 遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。


jQuery源码分析(十三): 选择器引擎Sizzle


起步

在传统的 JavaScript 开发中,查找 DOM 往往是开发人员遇到的第一个头疼的问题,原生的 JavaScript 所提供的 DOM 选择方法并不多,仅仅局限于通过 tag, name, id 等方式来查找,这显然是远远不够的。现在很多浏览器都支持了高级接口:querySelectorquerySelectorAll


jQuery源码分析(十二): 选择器


起步

入口$提供css选择器有以下的处理方式:

$(document)
$('<div></div>')
$('div')
$('.class')
$('#id')
$('[attr]')  //[att=val] [att~=val] [att|=val] [attr^=val] [attr$=val] [attr*=val] [attribute!=value]
$()
$(function(){})
$("input:radio", $('div'))
$("<div>", {"class":"test", text:"ttt"})
$(".class1, .class2, div")
$("div > .class") // ancestor descendant,parent > child,prev + next,prev ~ siblings

针对选择器的处理太多了(肯定大于这12种),一个功能越灵活就意味着它的实现就越复杂。