我在我的SVG中有一些<圖像0元素。我想添加一個onclick處理程序來訪問與特定節點相關的圖像URL,但我無法在DOM文檔中找到字段名稱。如果是HTML,那麼我將訪問this.src,但SVG DOM明顯不同 - 我找不到任何相關文檔。訪問SVG中的圖像元素URL
補充說明:如果我有類似 <image xlink:href="http://example.jpg" onclick="code">
那麼我需要'代碼'來訪問當前節點的圖像URL。
我在我的SVG中有一些<圖像0元素。我想添加一個onclick處理程序來訪問與特定節點相關的圖像URL,但我無法在DOM文檔中找到字段名稱。如果是HTML,那麼我將訪問this.src,但SVG DOM明顯不同 - 我找不到任何相關文檔。訪問SVG中的圖像元素URL
補充說明:如果我有類似 <image xlink:href="http://example.jpg" onclick="code">
那麼我需要'代碼'來訪問當前節點的圖像URL。
可以在<object>
標籤使用處理程序SVG:
<object type="image/svg+xml" data="picture.svg">
<img src="picture.png" alt="">
</object>
OK,下面兩個似乎工作,雖然我不知道這是推薦:
onclick="window.open(this.getAttribute('xlink:href'),'_blank');"
onclick="window.open(this.getAttributeNS('http://www.w3.org/1999/xlink', 'href'), '_blank');"
SVG DOM屬性有一個額外的技巧,因爲許多可以動畫:添加額外的.baseVal
(對於非動畫值)屬性名稱。在href
的情況下,您可以忽略xlink:
部分。
onclick="window.open(this.href.baseVal, '_blank');"
這不是我需要做的。我的SVG在rect元素中包含許多使用圖像元素的JPG縮略圖。我想在每個訪問當前圖像文件URL的地方添加「onclick = ...」處理程序(要在不同的選項卡中查看)。我不想在每個onclick屬性上手動編碼圖像文件URL。 – ACProctor