如何检查一个DOM元素是否是另一个DOM元素的子元素?有内置的方法吗?例如,类似:
if (element1.hasDescendant(element2))
要么
if (element2.hasParent(element1))
如果没有,那么有什么想法怎么做?它还需要跨浏览器。我还应该提到,孩子可以嵌套在父级以下的多个级别。
更新: 现在有一种本地方法可以实现此目的。Node.contains()
。在评论中也提到了答案。
旧答案:
使用该parentNode
属性应该可以。从跨浏览器的角度来看,它也是非常安全的。如果已知这种关系是一级的,则可以简单地检查一下:
if (element2.parentNode == element1) { ... }
如果可以将孩子任意地嵌套在父对象的深处,则可以使用类似于以下内容的函数测试这种关系:
function isDescendant(parent, child) {
var node = child.parentNode;
while (node != null) {
if (node == parent) {
return true;
}
node = node.parentNode;
}
return false;
}
问题内容: 如何轻松检查一个ArrayList中的所有元素是否都是另一ArrayList的所有元素? 问题答案: 使用Collection.containsAll():
我如何在JavaScript中做到这一点?
问题内容: 我有两个带有不同对象的列表。 我想检查list2中的元素是否存在于list2中,基于特定的属性(Object1和Object2具有(以及其他),一个共有属性(类型为Long),名为attributeSame)。 现在,我这样做是这样的: 但是我认为有一种更好,更快的方法可以做到这一点:)有人可以提出吗? 谢谢! 问题答案: 如果只需要测试基本相等性,则可以使用基本JDK来完成,而无需在
我有两个不同对象的列表。 我想根据特定的属性(Object1和Object2有一个共同的属性(类型为Long),名为AttributeName),检查list2中是否存在list1中的元素。 现在,我是这样做的: 但我认为有更好更快的方法可以做到这一点:)有人能提出吗? 谢谢
我试图通过一个元素在表中找到一行,然后在该行中找到一个元素并返回一个属性(或者做其他事情)。 这里的JavaSelenium代码查找一个表体。getText()准确地打印出每行中的文本,但s.findElement(xpath)除外。getText()将返回唯一的\u单元格\u名称,无论行是否包含该名称。并且if语句将在每个循环中输入。 我怎么修理它?为什么getText()返回正确的文本,但在同
问题内容: 我可能在这里找不到一个简单的单行代码,但这是我的问题: 如何检查ArrayList是否包含另一个ArrayList中的所有对象?我正在寻找(如果存在的话)类似的东西: 例如: 问题答案: 接口中有一个声明的方法。在您的设置中给出所需的答案。