2

我尝试根据选择点拆分 HTML 部分。例如假设我有:

<table>
 <tr><td> one </td></tr>
 <tr><td> two </td></tr>
 <tr><td> tree </td></tr>
</table>     

现在,如果用户two用鼠标选择并单击拆分按钮,我应该:

<table>
 <tr><td> one </td></tr>
</table>

<table>
 <tr><td> two </td></tr>
 <tr><td> tree </td></tr>
</table> 

它也可以出现在任何其他元素(P, div, ...)上,也可以出现在任何嵌套元素上。

我尝试了以下 C# 代码:

IHTMLDocument2 doc =
webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLBodyElement body = doc.body as IHTMLBodyElement;
if (doc.selection != null)
{        
     if (doc.selection.type == "Text")
     {
          range = doc.selection.createRange() as IHTMLTxtRange;                        
          range.moveEnd("textedit");
          // NOW range.htmlText gives me the second part, 
          // however I don't know how to extract it from the section 
          // and remain the first part
     }
 }

现在range.htmlText 完全给了我第二个片段(带有父标签),但是我不知道如何从该部分中提取它并留下第一个片段?!execCommand("cut")可以完成这项工作,但是如果选择跨越多个表行,则该技巧不起作用。

或者任何其他解决方案?

4

0 回答 0