编辑器中存在一个自定义html dom元素:
<content id="1">
<p>Paragraf is here and <a href="/url/to">link text</a> exists</p>
</content>
我想使用模型的属性在模型中找到它。我可以使用从根开始的递归方法找到它。但是有没有更简单的方法,例如querySelectorAll?
答案 0 :(得分:0)
我还没有找到可以执行此操作的现成的帮助程序方法,但是如果有人只是在寻找可以使用的函数定义,请尝试以下方法:
function findDescendant (modelElement, predicate) {
if (predicate(modelElement)) {
return modelElement
}
if (modelElement.getChildren) {
for (let child of modelElement.getChildren()) {
const found = findDescendantByName(child, name)
if (found) {
return found
}
}
}
}
...
...
const descendant = findDescendant(element, (element) => element.hasAttribute('foobar'))