Javascript 用正则表达式替换空格,而不替换空HTML标记

Javascript 用正则表达式替换空格,而不替换空HTML标记,javascript,html,css,Javascript,Html,Css,我希望在以下内容中替换空格: 5SPACE 但当我这样做时,使用: card\u cost=card\u cost.replace(/\s/g,“”) 它把我的css弄得一团糟,对象彼此堆叠,就像它们的位置被更改为绝对位置一样 如何在不破坏css或文档流的情况下替换空格 示例代码: Javascript: card_cost=document.getElementById('card_cost').value; if(card_cost) { card_cost=card_cost.repla

我希望在以下内容中替换空格:

5SPACE

但当我这样做时,使用:

card\u cost=card\u cost.replace(/\s/g,“”)

它把我的css弄得一团糟,对象彼此堆叠,就像它们的位置被更改为绝对位置一样

如何在不破坏css或文档流的情况下替换空格

示例代码:

Javascript:

card_cost=document.getElementById('card_cost').value;

if(card_cost)
{
card_cost=card_cost.replace(/\d+/g,"<span class='card_costnum'>$&</span>");
*breaks styling*card_cost=card_cost.replace(/\s/g,"");*breaks styling*
}

document.getElementById('output').innerHTML+="<div class='card'>"+"<span class='card_cost'>"+card_cost+"</span>";
card_cost=card_cost.替换(/\d+/g,“$&”);
卡片成本=卡片成本。替换(/\s/g,“”);
您正在将其转换为
,这是无效的,将破坏HTML的其余部分。只要把替代品倒过来就行了

card_cost = card_cost.replace(/\s/g, "");
card_cost = card_cost.replace(/\d+/g, "<span class='card_costnum'>$&</span>");
card\u cost=card\u cost.replace(/\s/g,“”);
卡成本=卡成本。替换(/\d+/g,“$&”);
卡成本=卡成本。替换(/\d+/g,“$&”);
卡片成本=卡片成本。替换(/\s/g,“”);
您正在将其转换为
,这是无效的,将破坏HTML的其余部分。只要把替代品倒过来就行了

card_cost = card_cost.replace(/\s/g, "");
card_cost = card_cost.replace(/\d+/g, "<span class='card_costnum'>$&</span>");
card\u cost=card\u cost.replace(/\s/g,“”);
卡成本=卡成本。替换(/\d+/g,“$&”);

我不明白-你想做什么?(我试着回答,但回头看,我不确定这是否是您需要的。)使用DOM操作来删除空白文本节点,而不是正则表达式。不要做
.innerHTML+=…
。这对你的DOM来说是一件可怕的事情。如果你想最小化你的css,你还可以删除所有新行和
在url中,等等。看看html与您的示例中的javascript不匹配。谁发布了关于在任何其他替换之前定位空间替换的信息,解决了我的问题。我不明白-您想做什么?(我试着回答,但回头看,我不确定这是否是您需要的。)使用DOM操作来删除空白文本节点,而不是正则表达式。不要做
.innerHTML+=…
。这对你的DOM来说是一件可怕的事情。如果你想最小化你的css,你还可以删除url中的所有新行和
,等等。看看html与你的例子中的javascript不匹配。谁发布了关于在任何其他替换之前定位空间替换的帖子,解决了我的问题。
card_cost = card_cost.replace(/\s/g, "");
card_cost = card_cost.replace(/\d+/g, "<span class='card_costnum'>$&</span>");