2
從DOC:jQuery的:選擇器解析機制
$(selector, context)
內部實現的方法.find()
。
但是當我們寫一些選擇器像;
$('#a .b .c')
或
$('#a > .b > .c')
等
這是否實施.find()
方法?或其他的機制jQuery用於此。
請讓我清楚這個解析機制。
從DOC:jQuery的:選擇器解析機制
$(selector, context)
內部實現的方法.find()
。
但是當我們寫一些選擇器像;
$('#a .b .c')
或
$('#a > .b > .c')
等
這是否實施.find()
方法?或其他的機制jQuery用於此。
請讓我清楚這個解析機制。
現代實現將把選擇器交給document.querySelectorAll()
,瀏覽器將嘗試將其解析爲CSS選擇器(假設它是有效的)。
做不到這一點,jQuery的退回到了自己的選擇器引擎,Sizzle,它使用內部方法和計算遍歷DOM實現後裔以及兄弟選擇,其中最有可能不使用方法如.find()
爲當會招致不必要的開銷。
謝謝先生,這意味着它並不總是使用'find()'方法,對吧? –