我注意到SVG中没有document.write
。SVG 1.1 Javascript参考
目前我在寻找类似的功能。
Unfortunatley我找不到列出所有与SVG DOM相关或支持的功能(例如与文档对象相关的功能)的网站。
你是否知道我可以找到SVG文档的任何在线资源,尤其是与scriptin(类似于JAVADOC)相关的资源。
我注意到SVG中没有document.write
。SVG 1.1 Javascript参考
目前我在寻找类似的功能。
Unfortunatley我找不到列出所有与SVG DOM相关或支持的功能(例如与文档对象相关的功能)的网站。
你是否知道我可以找到SVG文档的任何在线资源,尤其是与scriptin(类似于JAVADOC)相关的资源。
不能使用文件撰写,因为SVG是XML的功能/性能,不标记汤。
如果要导入完整的XML节点,您必须手动完成或使用标准DOM importNode方法。例如,如果您从AJAX中检索XML节点,请首先使用responseXML将响应解析为XML,然后使用document.importNode方法导入它,以便您可以在SVG文档中使用它并将其与一个标准的DOM方法(appendChild或insertBefore)。
的svg spec from w3c列出了指定的(但我不知道是否所有的浏览器都实现规范正确)
谢谢你的回答。我发现这个网站时,谷歌搜索,但我找不到与“文件”相关的功能...... – 2010-08-03 13:16:14
正如已经提到的XMLHttpRequest是一个选项。
另一个是(非W3C标准)DOMParser接口,除了IE之外的所有浏览器都支持足够好的接口,可用于在脚本中实现类似于document.write
的东西。
另一种选择是HTML5方法innerHTML/outerHTML
(请注意,旧版浏览器会尝试将字符串解析为HTML4,这将不起作用,并且根据文档mimetype的不同,解析xml的方式也有所不同)。
如果我们继续,有DOM 3 Load & Save和SVG Tiny 1.2中定义的parseXML方法。
您在HTML页面中使用的大部分标准DOM API也适用于SVG。 W3C DOM specification是一个很好的开始,但你也可以看看w3 schools DOM reference and tutorials。
对于所有SVG特定的DOM接口,我认为最好的参考是SVG specification。每个部分都有一个名为“DOM接口”的小节,它精确地描述了您要查找的内容。
你有什么想法我可以先删除所有节点,然后添加我需要的,通过使用importNode? – 2010-08-03 13:45:06
是的。 replaceChild方法!如果你可以读法语(或者即使你不能,只要看例子),你应该阅读http://svground.free.fr/dom.php#clonage 这里是签名: myparentnode.replaceChild (newDomElement,DOMNodeToReplace)。 您可以使用parentNode属性轻松获取父节点。例如, :daddy = document.getElementById('nodeToReplace')。parentNode; – Tangui 2010-08-03 16:43:48