如何把DOM对象重组html?

饿半肚 2012-08-13 11:02:38
参考网上一些代码,比如——http://blog.csdn.net/yincheng01/article/details/7790361。改动一下,通过IHTMLDocument2::get_all()实现了枚举所有的DOM对象。现在我想把某些DOM对象修改一下样式,然后再把所有DOM对象重组成一个html。请问应该怎么做?

这样就涉及两个问题:
1、DOM对象能否复制?因为如果直接在获取到的DOM对象上改样式,那么就会直接影响到用户看到的IE,所以一个办法是把DOM对象复制一份出来改。
2、如何把DOM组装成一个html?应该用什么接口?在网上真没找到。

谢谢大家了!
...全文
154 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fishion 2012-08-16
  • 打赏
  • 举报
回复
或者就自己按照html格式,直接写个html文件吧
饿半肚 2012-08-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

或者就自己按照html格式,直接写个html文件吧
[/Quote]

哈哈,今天真的准备就这样做了。感觉怪怪的。。但是也没有办法。
饿半肚 2012-08-15
  • 打赏
  • 举报
回复
今天如果找不到办法重组html,明天开始估计要考虑纯手工拼装html了。杯具++。
饿半肚 2012-08-14
  • 打赏
  • 举报
回复
各位大侠,求救啊~~~

我现在希望是这样做,首先创建一个空的IHTMLDocument2——
CoCreateInstance(CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER, __uuidof(IHTMLDocument2), &pDoc2);

然后在遍历每一个DOM元素的地方逐个写入到这个IHTMLDocument2对象里并修改样式。

枚举到第一个元素,比如是html标签,就pDoc2->createElement(L"html", &spElem);

请问是这样吗?然后想加入子节点怎么写?还有如何判断遍历到的DOM元素是哪一层的子节点?谢谢!
饿半肚 2012-08-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

DOM对象传给JS,由JS来显示
[/Quote]

不好意思,水平所限,不明白是什么意思。。不过我这边的需求是要忽略JS的,只想保存某一时刻网页当时的样子。连link CSS的代码都不要,而是把DOM对象当时的样式值currentStyle直接填到html那里。
oyljerry 2012-08-13
  • 打赏
  • 举报
回复
DOM对象传给JS,由JS来显示
饿半肚 2012-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

先MARK下,家里有份代码,回去帮你看下
[/Quote]

好的,谢谢!
傻X 2012-08-13
  • 打赏
  • 举报
回复
先MARK下,家里有份代码,回去帮你看下

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧