Javascript jQuery替换每个div中字符串中的字符和符号,逗号替换为€;和€;毫无疑问
下面是一个场景: 我有一堆跨度,有一类“价格”是这样的:12,99欧元 我需要在昏迷后分割美分,这样我就可以用css设计它->完成了,美分有了自己的类“美分” 现在我正试图用欧元符号替换coma“,”并删除结尾处的欧元符号“将其替换为零,空) 我希望这是有意义的,这里有一个例子…: 现在的情况:12,99欧元 和 我需要:12欧元99 我现在的代码:Javascript jQuery替换每个div中字符串中的字符和符号,逗号替换为€;和€;毫无疑问,javascript,jquery,string,replace,split,Javascript,Jquery,String,Replace,Split,下面是一个场景: 我有一堆跨度,有一类“价格”是这样的:12,99欧元 我需要在昏迷后分割美分,这样我就可以用css设计它->完成了,美分有了自己的类“美分” 现在我正试图用欧元符号替换coma“,”并删除结尾处的欧元符号“将其替换为零,空) 我希望这是有意义的,这里有一个例子…: 现在的情况:12,99欧元 和 我需要:12欧元99 我现在的代码: <!-- the html part CANNOT BE MODIFIED --> <span class="price">
<!-- 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>
29,49€
jQuery(“.price”)。每个(函数(){
var newText=jQuery(this.text().split(“,”).join(“,”);
newText=“”+newText+”;
jQuery(this).html(newText);
});
//试图用什么都不做来代替欧元符号,但不起作用//
var value=jQuery(“.cents”).val()+”;
价值。替换(“€”和“);
var val=jQuery(“.cents”).val();
如果有人能在这里帮助我,我会非常感激,因为我真的很想学习如何做到这一点。它看起来不太复杂,但无法使其工作,这是令人沮丧的
$(".price").text( function(i, oldtext){
return oldtext.replace("€","").replace(",","€")
});
不如改用以下方法:
$(".price").html(function(i, val) {
val = val.split(",");
return "<span class='euros'>" + val[0] + "</span>" + "€" +
"<sup class='cents'>" + val[1].replace("€", "") + "</sup>";
});
$(“.price”).html(函数(i,val){
val=val.split(“,”);
返回“+val[0]+”+“€”+
“+val[1]。替换(“€”和“)+”;
});
演示:使用以下内容如何:
$(".price").html(function(i, val) {
val = val.split(",");
return "<span class='euros'>" + val[0] + "</span>" + "€" +
"<sup class='cents'>" + val[1].replace("€", "") + "</sup>";
});
$(“.price”).html(函数(i,val){
val=val.split(“,”);
返回“+val[0]+”+“€”+
“+val[1]。替换(“€”和“)+”;
});
演示:您不需要使用
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>";
});
$(“.price”).html(函数(i,oldVal){
var值=旧值拆分(“,”);
返回“”+值[0]+“€”+
“+值[1]。切片(0,-1)+”;
});
您不需要使用
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>";
});
$(“.price”).html(函数(i,oldVal){
var值=旧值拆分(“,”);
返回“”+值[0]+“€”+
“+值[1]。切片(0,-1)+”;
});
.val()
用于表单元素,您应该使用.text()
来代替。.val()
用于表单元素,您应该使用.text()
来代替。谢谢,很好地缩短了它,但它似乎也输出了html标记?请看这里:当您将带有html的字符串返回到text
时,它将显示为字符串。@mlclm是的,我忘了将text()
更改为html()
。现在它应该工作得很好,检查演示。非常好,谢谢分享你的解决方案,我将学习切片函数,了解如何使用它。再次感谢!当复制Esailija的答案和jsfiddle:PThanks时,我忘记将text()
更改为html()
,很好地缩短了它,但它似乎也输出了html标记?请看这里:当您将带有html的字符串返回到text
时,它将显示为字符串。@mlclm是的,我忘了将text()
更改为html()
。现在它应该工作得很好,检查演示。非常好,谢谢分享你的解决方案,我将学习切片函数,了解如何使用它。再次感谢!我忘记了将text()
更改为html()
复制Esailija的答案和jsfiddle:PSuperb时,它工作得非常好。非常感谢你。我会向你学习的。非常好。它工作得很好。非常感谢你。我会向你学习的。很好,这个技巧也很有效。谢谢你对Esailija的贡献!不错,这项技术也奏效了。谢谢你对Esailija的贡献!