我尝试根据选择点拆分 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")
可以完成这项工作,但是如果选择跨越多个表行,则该技巧不起作用。
或者任何其他解决方案?