jquery 将 href 转换为 xlink:href



>我正在尝试在 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>

最新更新