Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法为SVG交换img元素_Javascript_Ajax - Fatal编程技术网

Javascript 无法为SVG交换img元素

Javascript 无法为SVG交换img元素,javascript,ajax,Javascript,Ajax,我有一些代码在SVGimg元素中循环,并尝试将图像替换为内联SVG代码: (function () { var el = document.querySelectorAll('img'); var i; for(i = 0; i < el.length; i++) { var imageEl = el[i], imgSrc = imageEl.src; if(typeof imgSrc != 'undefi

我有一些代码在SVG
img
元素中循环,并尝试将图像替换为内联SVG代码:

(function () {
    var el = document.querySelectorAll('img');
    var i;

    for(i = 0; i < el.length; i++) {
        var imageEl = el[i],
            imgSrc = imageEl.src;

        if(typeof imgSrc != 'undefined' && imgSrc.match(/\.svg$/)) {   
            var request = new XMLHttpRequest(); 
            request.open('GET', imgSrc, true);
            request.send();

            request.onload = function () {
                console.log(newImage);
                imageEl.outerHTML = request.responseText;
            }
        }
    }

})();
(函数(){
var el=document.querySelectorAll('img');
var i;
对于(i=0;i
但是,这将返回:
Uncaught nomodificationlowerError:未能在“Element”上设置“outerHTML”属性:此元素没有父节点。


我有点不确定为什么会发生这种情况。我试图从jQuery中复制
replaceWith
函数

我通过使用make async false修复了这个问题,并稍微更改了代码:

(function () {
    var el = document.querySelectorAll('img');
    var i;

    for(i = 0; i < el.length; i++) {
        var imageEl = el[i],
            imgSrc = imageEl.src;

        if(typeof imgSrc != 'undefined' && imgSrc.match(/\.svg$/)) {
            var request = new XMLHttpRequest(); 

            request.onreadystatechange = function() {
                if (request.readyState == 4 && request.status == 200) {
                    imageEl.outerHTML = request.responseText;
                }
            }

            request.open('GET', imgSrc, false);
            request.send();
        }
    }

})();
(函数(){
var el=document.querySelectorAll('img');
var i;
对于(i=0;i