我需要更改页面上所有svg的网址。我有以下代码,但是在尝试使用setAttributeNS时出错。
jQuery("[*|href*='icons.svg']:not([href])").each(function () {
hashedIconUrl = jQuery(this).attr('xlink:href').replace('icons.svg', hashedIcon);
console.log(hashedIconUrl);
jQuery(this).setAttributeNS('http://www.w3.org/1999/xlink', 'href', hashedIconUrl);
});
答案 0 :(得分:1)
您需要从jQuery对象转换为本地DOM对象,才能调用setAttributeNS。通常的方法是通过[0]
jQuery("[*|href*='icons.svg']:not([href])").each(function () {
hashedIconUrl = jQuery(this).attr('xlink:href').replace('icons.svg', hashedIcon);
console.log(hashedIconUrl);
jQuery(this)[0].setAttributeNS('http://www.w3.org/1999/xlink', 'href', hashedIconUrl);
});