Vì tôi không thể trả lời như một bình luận (tôi đoán là nghiệp quá thấp), đây là một câu trả lời đầy đủ. Cách nhanh nhất là dễ dàng hủy đăng ký kiểm tra jQuery để hỗ trợ trình duyệt và cạo các yếu tố không đổi đến mức tối thiểu.
Như đã thấy ở đây - http://jsperf.com/jquery-element-in-dom/28 - mã sẽ trông như thế này:
var isElementInDOM = (function($) {
var docElt = document.documentElement, find,
contains = docElt.contains ?
function(elt) { return docElt.contains(elt); } :
docElt.compareDocumentPosition ?
function(elt) {
return docElt.compareDocumentPosition(elt) & 16;
} :
((find = function(elt) {
return elt && (elt == docElt || find(elt.parentNode));
}), function(elt) { return find(elt); });
return function(elt) {
return !!(elt && ((elt = elt.parent) == docElt || contains(elt)));
};
})(jQuery);
Điều này tương đương về mặt ngữ nghĩa với jQuery.contains (document.documentEuity, elt [0]).
$foo.closest(document.documentElement)
nhanh hơn (nếu có ai quan tâm jsperf.com/jquery-element-in-dom )