我有一个需要用+
替换所有,
的函数。假设$(".AdvKeyowrdAND").html
返回a+b+c+d
。我尝试使用map()
和replace()
,但它只将第一个+
转换为,
。我需要使用像each()
这样的东西吗?
var array = $(".AdvKeyowrdAND").map(function() {
return [$(this).html().replace('+',',').split(",")];
}).get();
答案 0 :(得分:3)
jQuery不是用于更新字符串值的正确选择。 map()
从现有数组创建一个新数组,replace()
旨在更新DOM,而不是字符串。
相反,使用正则表达式来更新值,如下所示:
$(".AdvKeyowrdAND").text(function(i, text) {
return text.replace(/\+/g, ',');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="AdvKeyowrdAND">a+b+c+d</div>