所以我正在生成一个svg并且在svg中有<image>
标签但是每当我附加<image>
标签时,它都被替换为<img>
$('body').prepend('<image></image><br>');
$('body').append('img tags: '+$('body').children('img').length+'<br>');
$('body').append('image tags: '+$('body').children('image').length);
Run Code Online (Sandbox Code Playgroud)
那是怎么回事.
这是一个jQuery的东西吗?我在chrome和safari中尝试了相同的结果.
编辑:
结束使用此函数将svg代码附加到svg,其中第一个参数是svg的jQuery对象,第二个参数是要追加的svg代码.
function appendToSVG(svg,text){
text = svg.html()+text;
attributes = svg[0].attributes;
var attrs = '';
for (var i=0; i <= attributes.length-1; i++){
attrs += attributes[i].name+'="'+attributes[i].value+'" ';
}
svg.after('<svg '+attrs+'>'+text+'</svg>');
svg.remove();
}
Run Code Online (Sandbox Code Playgroud)
image
HTML 中没有元素, HTML5和HTML4中都没有。我希望浏览器只是处理常见的拼写错误。
image
是一个SVG元素,因此不能直接将其放入 中body
,它必须位于 SVG 上下文中。例如:更新的小提琴
$('body').prepend('<svg><image></image></svg><br>');
$('body').append('img tags: '+$('body').find('img').length+'<br>');
$('body').append('image tags: '+$('body').find('image').length);
Run Code Online (Sandbox Code Playgroud)
...这给了我们:
图片标签:0 图片标签:1