Skip to content

Instantly share code, notes, and snippets.

@CraigChilds94
Created February 1, 2018 18:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CraigChilds94/01d1a7242e3fcb2eb3085667c89e80ba to your computer and use it in GitHub Desktop.
Save CraigChilds94/01d1a7242e3fcb2eb3085667c89e80ba to your computer and use it in GitHub Desktop.
jQuery SVG replacement plugin
$.fn.SVG = function() {
var $img = $(this);
var imgID = $img.attr('id');
var imgClass = $img.attr('class');
var imgURL = $img.attr('src');
return new Promise(function(resolve, reject) {
$.get(imgURL, function(data) {
// Get the SVG tag, ignore the rest
var $svg = $(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);
resolve($svg);
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment