我正在使用jquery通过ajax加载一个svg,如下所示:
$("body").load("https://upload.wikimedia.org/wikipedia/commons/0/02/SVG_logo.svg");
加载得很好,但替换了正文中的所有内容。我想要它做的是添加加载的svg,所以svg不会替换所有内容,而是作为<body>
之后的第一个元素插入。
答案 0 :(得分:1)
使用$ .get()然后在回调中添加前缀:
$.get( "https://upload.wikimedia.org/wikipedia/commons/0/02/SVG_logo.svg" )
.done(function( data ) {
$("body").prepend($(data).find("svg"));
});
答案 1 :(得分:1)
嗯,你不能只是将检索到的图像放入体内。 如果要显示图像,只需通过img标签显示即可。 如果您检索数据,则可以使用以下内容:
$.get("https://upload.wikimedia.org/wikipedia/commons/0/02/SVG_logo.svg" )
.success(function(data) {
$("body").prepend(data.activeElement.innerHTML);
});
您的初始变体&#34;工作的原因&#34;通过显示整个图片,浏览器可以显示图像文件,而您的代码就是这样 - 如果您只是将图像拖放到浏览器窗口中,就会一样。
答案 2 :(得分:0)
尝试以下代码我检查并正常工作。
$("#svg").load("https://upload.wikimedia.org/wikipedia/commons/0/02/SVG_logo.svg");
答案 3 :(得分:0)
试试这个:
$.ajax({
url:"https://upload.wikimedia.org/wikipedia/commons/0/02/SVG_logo.svg",
method: "GET",
dataType: "html",
success: function(data) {
$("body").prepend(data);
}
})
如果您想获得不同的内容(例如xml / json元素),则必须调整数据类型。
适用于您的示例 - svg位于正文下方和#svg div之前。