谁能告诉我为什么我的SVG链接没有被链接?标记出现了,并包装了文本节点,但没有任何效果。SVG的代码片段如下:
<a xlink:href="http://www.abcharts.net">
<text x="600" y="250" fill="black" text-anchor="end" style="font-family: Arial; font-size: 8pt">abcharts.net</text>
</a>
如果你愿意,你可以在这里看到它的作用:
http://abcharts.netabcharts包含如下函数:
//
// Create an SVG object
//
AB.create = function (args)
{
var el = document.createElementNS('http://www.w3.org/2000/svg', args.tag);
for (var i in args.attrs) {
if (typeof i === 'string') {
el.setAttribute(i, args.attrs[i]);
}
}
args.object.svg.appendChild(el);
return el;
};
这只能在空命名空间中创建对象(因为它使用setAttribute而不是setAttributeNS)。
当这个函数被传递给xlink:href属性时,它没有,因此正确创建它以使链接不起作用。
设置xlink:href属性的正确方法是
el.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', attrs[i]);
Khanh TO是对的,需要一个svg标签。这是一个工作版本。
<svg>
<a xlink:href="http://www.abcharts.net">
<text x="10" y="20" fill="black" text-anchor="end" style="font-family: Arial; font-size: 8pt">abcharts.net</text>
</a>
</svg>