我正在尝试查找选定范围的起始元素。 例如:
<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。当前的方法是使它们全部循环:
这是针对一个网站的,该网站允许编辑true的Javascript标签Contenteditable ='true'并以绿色显示所有更改的内容。 如果提交,我也只想阅读跨度中的更改零件。 因此,可以由用户进行讨论并接受投票。 这通常是一种安全且有意义的方法吗?
答案 0 :(得分:0)
我搜索了几周...
range.startContainer返回Notetype,但不是我所认为的p元素 而是返回Span元素的类型。
因此,您只需要使用range.startContainer.parentNode即可从中获取元素。
我现在觉得很蠢。 如果有人遇到相同问题,我会留意