用正则表达式替换空格,而不替换空的 HTML 标记
Replace spaces with Regex without replacing empty HTML tags
我希望在这样的东西中替换空格:
<span>5</span>SPACE<image href="mtgsymbol.png" />
但是当我这样做时:
card_cost=card_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>";
.CSS:
.card_name,.card_image,.card_cost,.card_type,.card_subtype,.card_rarity,.card_rules,.card_flavor,.card_strength,.card_num,.card_lower,.card_costnum
{
position:relative;
z-index:1;
}
.card_cost
{
display:inline-block;
float:right;
clear:right;
}
.card_costnum
{
position:relative;
display:inline-block;
text-align:center;
vertical-align:middle;
background-image:url("numsymbol_small.png");
background-repeat:no-repeat;
width:12px;
height:12px;
margin:1px;
top:-4px;
}
card_cost = card_cost.replace(/'d+/g, "<span class='card_costnum'>$&</span>");
card_cost = card_cost.replace(/'s/g, "");
你把它变成<spanclass='card_costnum'>
,这是无效的,它会破坏你的HTML的其余部分。只需反转替换即可。
card_cost = card_cost.replace(/'s/g, "");
card_cost = card_cost.replace(/'d+/g, "<span class='card_costnum'>$&</span>");
相关文章:
- 用DRY方式Javascript/JQuery动态替换HTML
- 替换HTML元素中的字符
- jQuery,Ajax:无法替换HTML
- 替换 html 字符串中的某些“<”和“>”
- jQuery在用新文本替换HTML文本时淡出HTML文本,而不是仅显示
- 如何用JavaScript替换HTML字符串
- Javascript Regex替换HTML标记
- 使用 jQuery 替换 HTML
- 如何用jQuery替换HTML标签的一部分
- 如何在javascript中替换HTML特殊字符
- 试图通过克隆节点来替换 HTML,但得到奇怪的结果
- 如何在jquery中用转义符替换html内容
- 如何使用JavaScript替换html元素
- 测试并替换HTML中的关键字
- 用循环中的数组内容替换html中的字符串
- 用Perl替换HTML文件的JavaScript代码
- 基于查询字符串替换HTML
- 如果满足条件,请防止用PJAX替换html内容
- 用链接 JavaScript 替换 HTML 的问题
- 在 JS 中替换 html 中的代码字符串