2014-10-08 32 views
1

我希望把下面的HTML:如何使用jQuery的Javascript交換div中文本的鏈接?

<div id="myText">Another hurricane is coming <a data-number="23">here</a>. And check out pictures <a data-number="43">here</a>.</div> 

到這一點:

<div id="myText">Another hurricane is coming @[23]. And check out pictures @[43].</div> 

我基本上是試圖獲取每個「數據數」值,並把它變成方括號,而省略a-tags中的文字。

關於如何最好地解決這個問題的任何想法?

回答

3

使用

$(document).ready(function() { 
    $('#myText a[data-number]').each(function() { 
    var text = '@[' + $(this).data('number') + ']'; 
    $(this).replaceWith(text); 
    }); 
}); 
7

您可以使用.replaceWith()

$('#myText').find('a').replaceWith(function(){ 
     return "@["+ $(this).data('number')+"]"; 
}); 

DEMO

你可以使用.find('a[data-number]')像@ColinDeClue指出了意見一定要得到錨與屬性data-number

+1

感謝 - 這工作! – TheBigDoubleA 2014-10-08 14:09:54

+1

好一個安東! – chridam 2014-10-08 14:09:59

+2

可能要添加一個'[data-number]'到選擇器,以防萬一還有其他的錨標籤。 – 2014-10-08 14:27:19

相關問題