网页开发中检测元素节点是不是另一个元素的子节点是一件很常用的事情,这样方便我们去判断方法事件,然而很多人不知道Element.classList API,例如classname管理需要特定的javascript工具包才可以完成,然而像检测元素节点是不是另一个元素的子节点这样的方法,认为只能通过工具或者是循环检测contains才能完成,其实下面的代码也可以:
代码如下 | 复制代码 |
function(parentNode, childNode) { if('contains' in parentNode) { return parentNode.contains(childNode); } else { return parentNode.compareDocumentPosition(childNode) % 16; } } |
你会注意到我们的检查contains在使用它之前,你可能会想到,用鲜为人知的compareDocumentPosition在这种情况下,contains不支持(Firefox < 9)。这种方法将是有益的 当创建一个拖放控件和确定的动作之间的列表。
补充:jquery如何判断当前元素是不是某节点的子元素
代码如下 | 复制代码 |
$(node).click(function(){ if($(this).parents('.aa').length > 0){ //是aa类下的子节点 } }); |
时间: 2024-10-29 11:13:06