我是一名有用的助手,可以为您翻译文本。
我正在尝试使用点击事件更改“xlink:href”属性,目前部分工作已经完成。这是我的做法:
HTML:
发生的情况是我能够轻松更改类,但是"xlink:href"属性没有更改,而是保留了旧的("#icon-pencil"),并添加了一个新的"href"属性 (href="#icon-floppy-disk")。
我正在尝试使用点击事件更改“xlink:href”属性,目前部分工作已经完成。这是我的做法:
HTML:
<a href="#" class="ui-btn ui-corner-all ui-shadow editIcon" data-iconpos="top" data-transition="none" style="text-align:center">
<svg class="icon icon-pencil">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-pencil"> </use>
</svg>
</a>
JS:
$('a.editIcon').on('click', function () {
if ($("a.editIcon svg").attr('class') == 'icon icon-pencil') {
$("a.editIcon svg").attr("class", "icon icon-floppy-disk");
$("a.editIcon svg use").attr("xlink:href", "#icon-floppy-disk");
} else {
myFunctionCall();
$("a.editIcon svg").attr("class", "icon icon-pencil");
$("a.editIcon svg use").attr("xlink:href", "#icon-pencil");
}
});
发生的情况是我能够轻松更改类,但是"xlink:href"属性没有更改,而是保留了旧的("#icon-pencil"),并添加了一个新的"href"属性 (href="#icon-floppy-disk")。
<svg class="icon icon-floppy-disk">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-pencil" href="#icon-floppy-disk"></use>
</svg>
我在这里错过了什么?谢谢!
:
前面放置两个反斜杠:\\:
或者使用$('[xlink\\:href]')
。 - Sebastian Simon$("a.editIcon svg use").get(0).setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#icon-pencil');
- prodigitalson