2015-12-02 57 views
-1

我有一個<text>標籤,其中包含純文本,但我想顯示一個超鏈接,而不是純文本。如何將<text>(文本標籤)轉換爲jQuery中的錨標籤?

 <svg width="800" height="600" class="overlay"> 
<g transform="translate(100,220)"> 
<path class="link" d="M80,120C120,120 120,106.66666666666666 160,106.66666666666666"></path> 
<path class="link" d="M80,120C120,120 120,133.33333333333334 160,133.33333333333334"></path> 
<path class="link" d="M80,40C120,40 120,26.666666666666686 160,26.666666666666686"></path> 
<path class="link" d="M80,40C120,40 120,53.333333333333314 160,53.333333333333314"></path> 
<path class="link" d="M0,80C40,80 40,40 80,40"></path><path class="link" d="M0,80C40,80 40,120 80,120"></path><g class="node" transform="translate(160,133.3333282470703)"> 
<circle class="nodeCircle" r="8" style="fill: rgb(255, 255, 255);"></circle><text x="13" dy=".35em" class="hyper" text-anchor="start" style="fill-opacity: 1;">Tiger</text> 

在上面的代碼中,獅子當屬純文本,但我想出現一個超鏈接。

我試圖用.attr()來做,但它不起作用。

+0

究竟是什麼?因爲這不是一個HTML的權利? –

+0

這裏的文字是自定義標籤 – Akki

+0

Lemme嘗試使用jQuery進行更改。有可能的。但鏈接到哪裏? –

回答

1

您可以使用replaceWith

$(function() { 
 
    $("text").each(function() { 
 
    $(this).replaceWith('<a href="">' + $(this).html() + '</a>'); 
 
    }); 
 
});
* {font-family: 'Segoe UI'; margin: 0; padding: 0; list-style: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<text x="13" dy=".35em" class="hyper" text-anchor="start" style="fill-opacity: 1;">Lion</text>

我不知道要放什麼東西了href屬性,但如果你需要,你可以把通過編輯該功能,你自己。

+0

@Pravin Kumar:可以用錨標籤替換內容嗎?因爲我已經嘗試了上面的代碼,它的工作,但在頁面上什麼也沒有顯示 – Akki

+0

你是在'$(document)'ready函數中加入它嗎?你能分享完整的代碼嗎? –

+0

@Akki,叫我Praveen而不是Pravin'':P'。嘿,你想轉換'SVG'代碼嗎?你如何運行它?你如何將它包含在HTML中? –

0

使用replacewith

$('text').replaceWith('<a href="http://example.com">link</a>') 
相關問題