最初のセレクター$('html head')
は find と同じように機能します - <head>
HTML の子孫を取得します
HTML──┐ ここから始めて、頭を見つけてください
頭
2 番目のセレクター$('html').find('head')
は html 要素を取得し、すべての子孫<head>
要素を検索します
HTML──┐ ここから始めて、頭を見つけてください
頭
3 番目のセレクター$('html').find('head').filter('html head')
は html 要素を取得し、すべての子孫要素を検索します。これにより、返される要素が の子孫であることが保証されている<head>
ため、フィルターは本当に無意味です。head
html
$('html').find('head')
HTML──┐ ここから始めて、頭を見つけてください
頭
機能していない最後のものは、$('html').find('html head')
以下の構造を検索しています
HTML──┐ ここから始めて「html head」を探します
HTML──┐
頭
しかし、実際にあなたの構造はこのようなものです
HTML──┐
頭
どの html には子孫 html 要素がないため、0 要素が返されます
コレクションに HTML 要素を保持したい場合は、.addBack()を使用できます。
$('html') // get html element
.find('html head') // find head element
.addBack() // add back the html element
// if jQuery 1.7 and lower use .andSelf()
.length // this will result in 1 element - the HTML element