簡體   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