我正在尝试使用点击事件更改“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>
Run Code Online (Sandbox Code Playgroud)
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");
}
});
Run Code Online (Sandbox Code Playgroud)
发生的事情是我可以毫无问题地更改类,但是“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>
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?谢谢!