如何使用jQuery的Javascript交换div中的文本链接?

时间:2014-10-08 14:05:46

标签: javascript jquery html indexof

我想打开以下html:

<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中的文本。

有关如何最好地解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:7)

您可以使用.replaceWith()

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

DEMO

您可以像评论中指出的@ColinDeClue一样使用.find('a[data-number]'),以确保获得属性data-number的锚点。

答案 1 :(得分:3)

使用

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