node.contains(otherNode)检查传入的节点是否为该节点的子孙节点.

2019-09-2985次阅读DOM

node.contains(otherNode)返回的是一个布尔值,来表示传入的节点(otherNode)是否为该节点(node)的子孙节点.

// 判断元素是否body元素且是否是body的子孙元素.
function isInPage(node) {
  return (node === document.body) ? false : document.body.contains(node);
}

一般用在弹出菜单的关闭, 通过contains判断点击元素是否是菜单本身或在菜单内, 如果不在其内那么表示要关闭菜单。

浏览器兼容:IE9+,移动端完美兼容。

上一篇: 监视DOM树所做更改的MutationObserver API  下一篇: CSS过滤数据  

node.contains(otherNode)检查传入的节点是否为该节点的子孙节点.相关文章