2013-07-31 27 views
0

該錯誤通常是由頁面在這裏解釋的裝載結束前執行的腳本引起的:Cannot read property childNodes of null無法讀取的未定義的屬性「節點名稱」在SVG文件

但我不認爲這是我的錯誤的位置:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
<svg onload="init(evt)" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> 
    <script xlink:href="jquery-1.10.2.min.js"/> 
    <script xlink:href="test.js"/> 
    <g id="id"> 

    </g> 
</svg> 

而且test.js文件:

function init() { 
    $(document).mousedown(test) 
} 

function test (evt) { 
    $('#id').append('test'); 
    $('#id').append('<rect x=10 y=10 width=50 height=50/>'); 
} 

什麼是好奇的是,第一個追加的作品,但沒有第二個。事實上,當字符串中存在<時,錯誤會增加......那麼爲什麼?

+0

可能是因爲它試圖使用'.innerHTML'的SVG文件,不能工作英寸使用'document.createElement(「rect」)'。您能否請您發佈您收到錯誤的堆棧跟蹤? – Bergi

回答

0

如果您通過jQuery $('<tag_name/>')方法實例化元素,它將起作用。

function test (evt) { 
    $('#id').append('test'); 
    $('#id').append($('<rect/>').attr({'x':10,'y':10,'width':50,'height':50})); 
} 
相關問題