gpt4 book ai didi

javascript - 如何获取突出显示文本所在的元素?

转载 作者:可可西里 更新时间:2023-11-01 01:36:56 26 4
gpt4 key购买 nike

我正在尝试学习如何编写一个小书签,我可以在其中突出显示一些文本,单击小书签并让它告诉我突出显示的内容。我可以做到这一点,但接下来我想知道该文本位于哪个元素中。

例如:

<div id="some-id">to be highlighted</div>

小书签代码:

javascript:(function(){alert(window.getSelection();})()

如果我突出显示“要突出显示”的文本,然后单击小书签,它会提醒文本。但是我怎样才能得到文本所在的元素,在本例中是之后的元素?

所以流程是:突出显示文本,单击小书签,小书签会告诉您突出显示的内容及其所在的元素。

谢谢!

最佳答案

尝试与此类似的方法来获取包含所选文本的 dom 元素。

window.getSelection().anchorNode.parentNode

它适用于 firefox 和 Chrome,您应该在其余浏览器中对其进行测试。

它有一个怪癖,如果您选择的文本涉及多个元素,则只会返回第一个元素。但也许你可以忍受这一点。

仅供引用什么是 anchorNode 属性: http://help.dottoro.com/ljkstboe.php

在 Internet Explorer 上,这段代码应该可以解决问题(我无法测试)

document.selection.createRange().parentElement();

如前所述 http://msdn.microsoft.com/en-us/library/ms535872.aspxhttp://msdn.microsoft.com/en-us/library/ms536654.aspx

关于 quirksmode 的范围解释:http://www.quirksmode.org/dom/range_intro.html

关于javascript - 如何获取突出显示文本所在的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com