检查具有特定className的Element是否包含Selection

时间:2017-04-28 15:44:34

标签: javascript dom

使用getSelection()返回Selection对象,我想检查Selection对象中包含的任何元素是否具有特定的className。

例如,如果我想要Selection对象的anchorNode或focusNode的className,我可以执行if (sel.anchorNode.parentElement.className === 'foo')之类的操作。但是,有问题的元素很可能落在锚点和焦点之间。

只是不确定如何从选择中访问这些节点。

1 个答案:

答案 0 :(得分:0)

看起来我可以使用:

if (sel.getRangeAt(0).cloneContents().querySelector('.foo')) {
    // Your selection contains an element with the className 'foo'
}

有人对此有任何异议吗?