You have several options that run at several different speeds.
var $document = $(document);
var $element = $("#jq-footer");
var exists;
exists = $element.closest("body").length;
exists = $.contains(document.documentElement, $element[0]);
$($element).parents().is("body");
exists = elementExists($element[0]);
function elementExists(element) {
while (element) {
if (element == document) {
return true;
}
element = element.parentNode;
}
return false;
}
See Performance Test
html, , jQuery , script, html .
"" , .
, , true, . true, , , , false.
exists = $.contains(document.documentElement, $element[0]);
, MrOBrian , , .
MrOBrian.
jsPerf .
Felix Kling , jsPerf.
, :
jsPerf: dom-tree-test-exists