无法在SVG文件中读取未定义的属性“nodeName”

时间:2013-07-31 11:12:01

标签: javascript jquery svg

该错误通常是由在加载页面之前执行的脚本引起的,如下所示:Cannot read property childNodes of null

但我不认为这是我的错误:

<?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/>');
}

奇怪的是,第一个追加是有效但不是第二个。实际上,当字符串中有<时错误会被提升......那么为什么呢?

1 个答案:

答案 0 :(得分:0)

如果通过jQuery $('<tag_name/>')方法实例化该元素,则可以正常工作。

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