假设我有一个包含原始 svg xml 的大字符串,并且我想更改 <path
的每个实例至 <path class="pathX"
(其中 X 是匹配项的索引)。在 javascript 中执行此操作的最佳方法是什么?我正在使用这段有效的代码,但我很好奇是否有更好的方法:
var svgArray = mySvgStr.split('<path ');
for(var i = 1, len = svgArray.length; i < len; i++) {
var newStr = 'class="path' + i + '" ' + svgArray[i];
svgArray[i] = newStr;
}
var svgWithClasses = svgArray.join('<path ');
最佳答案
如何解析 XML 字符串并改用 DOM 表示?使用 jQuery:
doc = $.parseXML(xmlString);
没有 jQuery:
var parser = new DOMParser();
var doc = parser.parseFromString(xmlString);
然后你可以做这样的事情:
var paths = doc.getElementsByTagName('path');
// add attributes here
这是一种不易出错的方法。
关于javascript - 用包含实例索引的变量替换字符串的每个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21946677/