转换字符串以访问它的dom元素

时间:2016-02-03 05:52:18

标签: javascript jquery string svg xmlhttprequest

我有一个包含我的回复的字符串。

var c = atob(btoa(String.fromCharCode.apply(null, new Uint8Array(event.getParameter('response'))))); 

以字符串格式返回文档的元素。

我想访问此响应中的svg元素

enter image description here

如何转换字符串以访问其中的元素?

2 个答案:

答案 0 :(得分:1)

使用DOMParser将字符串转换为文档

var parser = new DOMParser();
var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");

然后你可以在文档上使用DOM。除非您需要使用某种需要布局的方法,否则无需将其添加到现有文档中。

如果你想要<svg>元素的宽度值,你可以写

width = doc.documentElement.getAttribute('width');

如果你想渲染它,你只需将它附加到文档上,例如

element.appendChild(doc.documentElement)

其中element是现有文档中的某个元素。

答案 1 :(得分:0)

您可以将您获得的字符串插入隐藏元素,并将它们附加到文档正文中。然后通过适当的选择器检索所需的元素:

var elemString = '<div id="yourElement">My element</div>';

$('body').append('<span id="test" style="display:none">' + elemString + '</span>');
alert($('#test').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>