分类 前端语法/样式/布局 下的文章

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种),一个功能越灵活就意味着它的实现就越复杂。