我有一个包含我的回复的字符串。
var c = atob(btoa(String.fromCharCode.apply(null, new Uint8Array(event.getParameter('response')))));
以字符串格式返回文档的元素。
我想访问此响应中的svg元素
如何转换字符串以访问其中的元素?
答案 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>