.map()和.replace()的用法

时间:2016-09-07 10:06:52

标签: javascript jquery loops

我有一个需要用+替换所有,的函数。假设$(".AdvKeyowrdAND").html返回a+b+c+d。我尝试使用map()replace(),但它只将第一个+转换为,。我需要使用像each()这样的东西吗?

var array = $(".AdvKeyowrdAND").map(function() {
    return [$(this).html().replace('+',',').split(",")];
}).get();

1 个答案:

答案 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>