tr
jQueryでは、親を持つ要素のみを選択します。また、純粋なjavascriptバージョンはFirefox 9以降で機能すると思いますが、古いバージョンでは機能しません。
内部的には、jQueryのソースコードを見ると、parent()
(バージョン1.9.0の時点で5666行目)の定義があります。
parent: function( elem ) {
var parent = elem.parentNode;
return parent && parent.nodeType !== 11 ? parent : null;
},
を使用していないことがわかりますparentElement
がparentNode
、ブラウザでよりサポートされています(主に、古いバージョンのFirefoxではサポートされていません。実際、2つの違いを知りたい場合は、バージョン9より前ではサポートされていませんでした。 、この回答を参照してください:DOM parentNodeとparentElementの違い)。
また、ノードがであるかどうかもチェックしますDOCUMENT_FRAGMENT_NODE
(率直に言って、私が興味を持っていることを誰かが知っている場合は、なぜそうなるのかわかりません)。
古いブラウザをサポートしていない2.0開発ブランチ(pimvdbに感謝)では、parentElementに切り替えました(トラバースモジュールの削減-commit ):
parent: function( elem ) {
return elem.parentElement;
},