Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery替换每个div中字符串中的字符和符号,逗号替换为€;和€;毫无疑问_Javascript_Jquery_String_Replace_Split - Fatal编程技术网

Javascript jQuery替换每个div中字符串中的字符和符号,逗号替换为€;和€;毫无疑问

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">

下面是一个场景: 我有一堆跨度,有一类“价格”是这样的:12,99欧元

我需要在昏迷后分割美分,这样我就可以用css设计它->完成了,美分有了自己的类“美分”

现在我正试图用欧元符号替换coma“,”并删除结尾处的欧元符号“将其替换为零,空)

我希望这是有意义的,这里有一个例子…:

现在的情况: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>

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的贡献!