Je voudrais changer la couleur de remplissage de tous les éléments à l’intérieur d’un SVG. Les éléments sont à la fois de type rect et de polygone. Je n’ai pas défini de couleur par défaut.
Voici un exemple de fichier:
http://www.kingoslo.com/instruments/test.svg
Comment puis-je faire cela plus élégamment?
Si vous avez jQuery:
$('svg').children().css('fill', '#ffffff');
EDIT: Notez que cela suppose que les droits et les polygones sont les enfants directs de l’élément svg.
Une autre variante similaire à celle de Robert Longson:
document.documentElement.style.fill = 'blue';
Je préfère documentElement à rootElement, car il est dans DOM Core, et ils sont généralement les mêmes.
Cela fonctionnait pour moi lorsque je travaillais avec un SVG complexe comportant de nombreux éléments nesteds:
$('svg').find('path, text').css('fill', '#ffffff')