如何拆分HTML元素?

时间:2015-05-24 11:10:10

标签: javascript c# html winforms textrange

我尝试根据选择点拆分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> 

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

我尝试了以下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")可以完成这项工作,但是如果选择跨越几个表格行,那些技巧就不起作用。

或其他任何解决方案?

0 个答案:

没有答案