在jQuery上更改一个唯一的Character

时间:2018-03-24 20:46:53

标签: javascript jquery html string if-statement

<span class="number1">10.00</span>

简单地说,我想使用jQuery替换&#39;(&#39;(逗号)的&#39;(点)。

我尝试了几种表单来搜索$('.number1')字符并进行替换 它用逗号。

<span class="number1">10.00</span>

如果字符串中有多个Dot,该怎么办?

5 个答案:

答案 0 :(得分:1)

为什么要使用jQuery进行这么简单的操作?你需要的是一个简单的字符串操作。添加一个库,这样你可以输入一些较少的字符来做一些基本的东西似乎不值得。

您真正需要的是简单的JavaScript String.replace() 方法。

这里有jQuery和非jQuery方法:

&#13;
&#13;
// With jQuery:
console.log($(".number1").text().replace(".", ","));

// Without jQuery:
console.log(document.querySelector(".number1").textContent.replace(".", ","));

// When you need to replace all the . chars. in the string, you'll need to use
// a regular expression with .replace(). 

// The / / denote the delimiters of a regular expression
// The \. is the escape code for a .
// The g means do a global find/replace throughout the string

// With jQuery:
console.log($(".number1").text().replace(/\./g, ","));

// Without jQuery:
console.log(document.querySelector(".number1").textContent.replace(/\./g, ","));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="number1">10.00.00</span>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这是vanilla js的解决方案:

let DOMElement = document.querySelector('.number1')
let string = DOMElement.textContent.replace('.',',')
DOMElement.innerHTML = string

替换的简短版本:

{{1}}

答案 2 :(得分:0)

通过使用split方法找到一个点分隔符,然后使用如下所示的连接将其转回来,将其转换为数组:

 // Lets say that the value is 10.05.53.324.343
 var num1       = document.querySelector('.number1'); 
 num1.innerHTML = num1.innerHTML.split('.').join(','); // Outputs  10,05,53,324,343

答案 3 :(得分:0)

您可以使用Intl.NumberFormat对象而不是替换字符:

也许您的内容上还有其他数字要格式化。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat

但是你可以查看下面的一个工作示例,它将US-EN格式的数字格式化为pt-BR:

&#13;
&#13;
var el = document.querySelector('.number1'); 
var value = parseFloat(el.textContent);
var newValue = new Intl.NumberFormat('pt-BR', { minimumFractionDigits: 2 }).format(value);
el.innerHTML = newValue;
&#13;
<span class="number1">10.00</span>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

试试这个答案。

$(".number1").text(function () {
return $(this).text().replace(/\./g, ","); 
});