javascript 使用内联SVG替换所有SVG图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用内联SVG替换所有SVG图像相关的知识,希望对你有一定的参考价值。

//Para poder modificar el svg desde css sin tener que ponerlo inline directamente
//svg{} -> para cambiar ancho y alto
//path{} -> para cambiar fill
//agregar la clase svg al img y en document.ready:

jQuery('img.svg').each(function(){
    var $img = jQuery(this);
    var imgID = $img.attr('id');
    var imgClass = $img.attr('class');
    var imgURL = $img.attr('src');

    jQuery.get(imgURL, function(data) {
        // Get the SVG tag, ignore the rest
        var $svg = jQuery(data).find('svg');

        // Add replaced image's ID to the new SVG
        if(typeof imgID !== 'undefined') {
            $svg = $svg.attr('id', imgID);
        }
        // Add replaced image's classes to the new SVG
        if(typeof imgClass !== 'undefined') {
            $svg = $svg.attr('class', imgClass+' replaced-svg');
        }

        // Remove any invalid XML tags as per http://validator.w3.org
        $svg = $svg.removeAttr('xmlns:a');

        // Replace image with new SVG
        $img.replaceWith($svg);

    }, 'xml');

});

以上是关于javascript 使用内联SVG替换所有SVG图像的主要内容,如果未能解决你的问题,请参考以下文章

内联 SVG 与 SVG 文件性能

H5 内联 SVG

Javascript 函数未在单击时定义 SVG 元素

是否可以使用 CSS 缩放内联 SVG? [复制]

为啥 SVG 视图框属性仅适用于内联 SVG?

如何在 mouseover/mouseout (SMIL) 上为内联 SVG 的填充属性设置动画