用jquery替换div中的所有特定字符

时间:2016-05-09 06:03:58

标签: javascript jquery replace

我试图用div替换div中的所有逗号(",")。我尝试了谷歌搜索,似乎.replace()只替换了第一个逗号,它删除了text1的链接。

如何使用jquery将所有逗号替换为div中的其他字符而不删除链接?

<div> 
   <a href="#">text1</a>, <a href="#">text2</a>, <a href="#">text3</a>, <a href="#">text4</a>,
</div>

2 个答案:

答案 0 :(得分:3)

它将取代所有人,用&#39; a&#39;字符。使用&#34; g&#34;在此范围内 - 这代表&#34;全球&#34;并导致替换字符串中的所有目标字符 - 如果没有它,您只需替换已发现的第一个实例。试试吧。

string.replace(/\,/g, 'a');

答案 1 :(得分:1)

获取div中的所有文本节点并更新它,这将比更新div中的整个html更好。

$('div')
  .contents() // get all child nodes
  .each(function() { // iterate over them
    if (this.nodeType == 3) // check node type is text
      this.textContent = this.textContent.replace(/,/g, '+'); // update text content if it's text node
  })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
  <a href="#">text1</a>, <a href="#">text2</a>, <a href="#">text3</a>,
</div>