我试图用div替换div中的所有逗号(",")。我尝试了谷歌搜索,似乎.replace()只替换了第一个逗号,它删除了text1
的链接。
如何使用jquery将所有逗号替换为div中的其他字符而不删除链接?
<div>
<a href="#">text1</a>, <a href="#">text2</a>, <a href="#">text3</a>, <a href="#">text4</a>,
</div>
答案 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>