javascript
  • jquery
  • node.js
  • google-chrome
  • svg
  • 2013-07-29 141 views 4 likes 
    4

    我使用jQuery控制鉻SVG文件,爲什麼<image>標籤被改變的jQuery <img>標籤,在Chrome

    $('svg #lotsofimage').append("<image xlink:href='" + conf[thing].base + "' width= '" + conf[thing].width + "px' height= '" + conf[thing].height + "px' x='" + thing_x + "pt' y='" + thing_y + "pt' ></image>"); 
    

    ,但我打開的開發工具,它顯示如下:

    <img xlink:href="xxxx" width="xxxx"> 
    <image></image>was instead of <img /> 
    

    如何處理?

    +0

    好吧,所以我檢查了。沒有''標籤。你要做什麼? – Fresheyeball

    +2

    @Fresheyeball:'image'是SVG的一部分。 – icktoofay

    +0

    @icktoofay哦對。感謝您澄清 – Fresheyeball

    回答

    5

    這不是jQuery;這是Chrome的DOM實現。試試這個:

    > document.createElement('image').tagName 
    'IMG' 
    

    在Chrome,Firefox和Opera中,似乎只有Chrome能做到這一點。在我檢查過的幾個標準中我找不到任何這種行爲的參考。如果您希望Chrome創建image標記,則可能需要使用document.createElementNS明確地將其置於正確的名稱空間中。我不知道如何讓jQuery來做到這一點。

    +0

    只是爲了確保我沒有失去理智。從什麼時候有''標籤? – Fresheyeball

    +0

    @Fresheyeball:它是SVG的一部分;它不存在於HTML中。我只是證明,如果你嘗試創建一個,甚至不使用jQuery,Chrome會將它變成一個'img'標籤。 – icktoofay

    相關問題