>我正在尝试在 svg 中实现以下链接重写:
<a href="/node/1">link title</a>
自
<a xlink:href="/node/1">link title</a>
由于如果没有XLINK部分,这些链接将无法在野生动物园上运行。
我尝试更改为我的网站生成这些链接的 drupal 视图,但出于安全原因,系统省略了所有属性,链接仅打印为href
。
我唯一的选择是使用 jquery 更改结果,但到目前为止我还没有取得任何成功。
使用函数.attr()
,然后您将能够添加任何类型的属性
$(function(){
$("body a").each(function(){
var aHref = $(this).attr("href");
$(this).attr("xlink:href", aHref);
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/node/1">link title</a>
<a href="/node/1">link title</a>
<a href="/node/1">link title</a>
只需循环 a 元素并更改它们。在纯JavaScript中,它比jQuery更容易。
var elements = document.getElementsByTagName("a");
for (var i = 0; i < elements.length; i++) {
elements[i].setAttributeNS("http://www.w3.org/1999/xlink", "href", elements[i].href);
}
<svg>
<a href="/node/1"><text y="20">link title</text></a>
</svg>