javascript - 单击时替换 SVG 图像

标签 javascript jquery svg

<svg style="position: absolute;">
    <defs>
        <pattern id="image" width="1" height="1" viewBox="0 0 100 100">
            <image xlink:href='https://upload.wikimedia.org/wikipedia/commons/f/f8/Fulmer_Falls_Closeup_3000px.jpg' width="100" height="100" preserveAspectRatio="none"></image>
        </pattern>
    </defs>
</svg>

因此,在我的 SVG 中,我有一个 href 链接,指向我在互联网上找到的随机图像。我正在尝试更改此链接,因此单击某个元素后它会发生变化。

JQUERY

var selectedEl = $('#myID li');    
selectedEl.on('click', function () {
    var mySVG = $('#image');
});

但我不知道如何更新链接。我尝试过使用 attr 进行更新,但没有成功。

谢谢:)

最佳答案

考虑到 selectedEl 有效,由于缺少 html 代码,因此以下内容应该可以解决问题。 attr 方法应该更改任何给定的属性名称。

selectedEl.on('click', function() {
  var mySVG = $('#image image');
  $(mySVG).attr('xlink:href','the new URL here'); 
});

关于javascript - 单击时替换 SVG 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33756581/

相关文章:

php - Google Charts (Geochart) 在世界和欧洲之间切换区域

html - 使用 SVG 代替 html/css

html - 按固定像素数移动 SVG

svg - 将 FXML 加载到 JavaFX 时出错

javascript - 使用清晰的 HTML5/JS 播放彩信流

javascript - 从元素 data-* 属性构建对象

javascript - 在 JavaScript 中带有 for 的数组不会更改每个 var

jquery - jstree contextmenu 创建文件/文件夹功能

javascript - 点击链接触发事件

javascript - 如何在点击喜欢和刷新页面时保持按钮的颜色