获取文本节点外层样式
如何获取选中文本的样式是一个常见的难题。为了解决此问题,我们可以利用 JavaScript 的原生方法。
获取文本节点的父级元素
首先,我们通过 document.getSelection() 拿到选区,再通过 getRangeAt(0) 得到选区中的第一个范围。接着,我们可以利用 commonAncestorContainer 属性拿到该范围中的所有祖先元素的公共祖先容器。对于文本节点,其 commonAncestorContainer 正是其父级元素。
获取元素样式
立即学习“Java免费学习笔记(深入)”;
获取到父级元素后,我们可以通过 window.getComputedStyle(element).color 来得到该元素的颜色样式。
富文本节点样式
如果选取的部分包含富文本节点,我们需要进一步处理。我们可以遍历该父级元素的子节点,并依次获取其颜色样式。
代码示例
以下代码示例展示了如何实现此功能:
let range = document.getSelection().getRangeAt(0); let commonAncestorContainer = range.commonAncestorContainer; // 如果是文本节点,则获取它的父级元素 if (commonAncestorContainer.nodeType === 3) { commonAncestorContainer = commonAncestorContainer.parentElement; } // 获取整体节点的样式 console.log(window.getComputedStyle(commonAncestorContainer).color); // 获取富文本节点的样式 commonAncestorContainer.children.forEach(child => { console.log(window.getComputedStyle(child).color); });
以上就是如何用JavaScript获取选中文本的父级元素样式?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号