我有多个数字实例位于特定的数据属性中。有些数字有逗号,有些则没有。
如何遍历所有数字并将逗号更改为点?
我尝试了以下内容,但遇到一个不包含逗号的数字时似乎失败了:
JS
var dataSource;
$('.bar').each(function(index){
dataSource = $(this).data('percentage');
if (dataSource.indexOf(',') != -1) {
dataSource = dataSource.replace(/,/g, '.');
}
$('.result').append(dataSource+"<br>");
})
HTML
<div class="bar" data-percentage="70,33"></div>
<div class="bar" data-percentage="90"></div>
<div class="bar" data-percentage="20"></div>
<div class="bar" data-percentage="100,8"></div>
<div class="bar" data-percentage="10,4"></div>
<div class="result"></div>
答案 0 :(得分:1)
使用attr()
代替data()
:
dataSource = $(this).attr('data-percentage');
<强> Demo 强>
.data()调用很特殊 - 它不仅检索HTML5数据属性,还尝试评估/解析属性。所以使用像data-myjson =&#39; {&#34; hello&#34;:&#34; world&#34;}&#39;当通过.data()检索时将返回一个Object,而通过.attr()检索将返回一个字符串。