jQuery替换字符串中的字符和符号在每个div中,逗号由€和€为空
所以这里是场景: 我有一堆类似“价格”的跨度:12,99€jQuery替换字符串中的字符和符号在每个div中,逗号由€和€为空
我需要在昏迷后分割美分,所以我可以用css来设计风格 - >完成了,美分得到了自己的分类“美分”
现在我试图用欧元代替昏迷“,”欧元符号,并删除欧元符号结束'取代它没有,空)
我希望它是有道理的,这里是一个例子...:
现在它是如何:12,99€ 和 我需要什么:12€99
我的代码现在:
<!-- the html part CANNOT BE MODIFIED -->
<span class="price">29,49€</span>
<script>
jQuery(".price").each(function() {
var newText = jQuery(this).text().split(",").join("</span>,<sup class='cents'>");
newText = "<span class='euros'>" + newText + "</sup>";
jQuery(this).html(newText);
});
// Tryed to replace euro symbol by nothing but doesn't work //
var value = jQuery(".cents").val()+"";
value.replace("€", "");
var val = jQuery(".cents").val();
</script>
我肯定会很感激,如果有人可以帮助我在这里因为我真的想学习如何实现这一点。它看起来并不复杂,但不能让它工作,这是令人沮丧的。
如何使用以下代替:
$(".price").html(function(i, val) {
val = val.split(",");
return "<span class='euros'>" + val[0] + "</span>" + "€" +
"<sup class='cents'>" + val[1].replace("€", "") + "</sup>";
});
对于清晰且真正可读的代码+1 ... – 2012-07-17 20:03:44
谢谢,尽量让它更短,但它似乎也输出html标签?看这里:http://jsfiddle.net/8da54/10/ – mlclm 2012-07-17 20:15:06
当你返回字符串与HTML到'文本'它将显示为字符串。 – 2012-07-17 20:16:09
$(".price").text(function(i, oldtext){
return oldtext.replace("€","").replace(",","€")
});
+1清洁剂,在没有分割/连接的情况下应该更快。 – davidethell 2012-07-17 20:04:20
不错,这种技术也起作用。感谢您贡献Esailija! – mlclm 2012-07-17 20:32:02
你并不需要使用replace
,您可以使用slice
或substr
。
$(".price").html(function(i, oldVal) {
var value = oldVal.split(",");
return "<span class='euros'>" + value[0] + "€</span>" +
"<sup class='cents'>" + value[1].slice(0, -1) + "</sup>";
});
非常棒,它的工作完美。非常感谢你。我会向你学习。 – mlclm 2012-07-17 20:26:31
@mlclm不客气。 :) – 2012-07-17 20:27:36
'.VAL()'是表单元素,你应该使用'的.text()'来代替。 – kapa 2012-07-17 20:00:46