繁体   English   中英

查找范围开始或结束的元素

[英]Find the Element in which a Range Starts or Ends

我试图找到选定范围开始的元素。 例如:

<p>Hello, <span class="editet">Genei180</span> is My Name</p>

用户现在选择:“ ei180是我的名字”

因此,我想要类似startElementofRange()的东西,该东西返回“ object HTMLSpanElement”
我不希望在按键时仅删除位于SpanEdíted中的部分。

我知道Node.startOffset和Node.startContainer。 但是在这种情况下,Node.startContainer将返回整个p元素作为Text元素。 但是,在这种情况下,Node.startOffset相对于Span元素为2。在某些情况下,可以选择多个Span Edited Element。 当前的方法是使它们全部循环:

Sitenote:

这是针对允许编辑true的Javascript标签Contenteditable ='true'并显示以绿色显示的所有内容的网站。 如果提交,我也只想阅读跨度中的更改零件。 因此,可以由用户进行讨论并接受投票。 这通常是一种安全且有意义的方法吗?

我搜索了几周...

range.startContainer返回Notetype,但不像我想到的p元素,而是返回Span元素的类型。

因此,您只需要使用range.startContainer.parentNode即可从中获取元素。

我现在觉得很蠢。 如果有人遇到相同的问题,我会留意

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM