似乎有些人在这里着陆,只是想知道某个元素是否 存在 (与原始问题略有不同)。
就像使用浏览器的任何选择方法,然后检查它的 真实 值一样简单(通常)。
例如,如果我的元素有一个id
的"find-me"
,我可以简单地使用…
var elementExists = document.getElementById("find-me");
可以指定返回元素或的引用null
。如果必须具有布尔值,则只需!!
在方法调用之前扔一个。
此外,您可以使用许多其他方法来查找元素,例如(全部靠document
):
其中一些方法返回a NodeList
,因此请务必检查其length
属性,因为a NodeList
是一个对象,因此为 true 。
为了实际确定某个元素是否作为可见DOM的一部分存在(就像最初提出的问题一样),Csuwldcat提供了一个比滚动自己的元素更好的解决方案(此答案曾经包含)。也就是说,在DOM元素上使用该contains()
方法。
您可以像这样使用它…
document.body.contains(someReferenceToADomElement);