SVG link 存在但未 link-i-fied
SVG link is present but not being link-i-fied
谁能告诉我为什么我的 SVG link 没有被 link 化?标签存在,并包装文本节点但没有任何效果。 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>
如果您愿意,可以在此处查看实际效果:
abcharts 包含此函数:
//
// 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;
};
这只能在 null 命名空间中创建对象(因为它使用 setAttribute 而不是 setAttributeNS)。
当此函数传递 xlink:href 属性时它不会,因此请正确创建它以使 link 不起作用。
设置 xlink:href 属性的正确方法是
el.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', attrs[i]);
Khanh TO 是对的,需要一个 svg 标签。这是一个working version。
<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>
谁能告诉我为什么我的 SVG link 没有被 link 化?标签存在,并包装文本节点但没有任何效果。 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>
如果您愿意,可以在此处查看实际效果:
abcharts 包含此函数:
//
// 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;
};
这只能在 null 命名空间中创建对象(因为它使用 setAttribute 而不是 setAttributeNS)。
当此函数传递 xlink:href 属性时它不会,因此请正确创建它以使 link 不起作用。
设置 xlink:href 属性的正确方法是
el.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', attrs[i]);
Khanh TO 是对的,需要一个 svg 标签。这是一个working version。
<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>