首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用JavaScript删除标记之间的所有空格

使用JavaScript删除标记之间的所有空格
EN

Stack Overflow用户
提问于 2012-08-17 23:37:59
回答 5查看 34.6K关注 0票数 13

我正在尝试删除标签之间的空白,以便childNodes只包含这些标签节点,而不是空白节点。下面是我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<li>            
    <label for="firstName"  class="mainLabel">First Name : </label>                                 
    <input type="text" name="firstName" id="firstName"/>                                    
    <span>This must be filled</span>
</li>   

下面是JS代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var parentHTML = firstName.parentNode.innerHTML;
parentHTML = parentHTML.replace(/>\n</g,"><");
firstName.parentNode.innerHTML = parentHTML;

但是当我警告parentHTML时,我得到了相同的旧字符串。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-17 23:41:26

这是因为字符串是不可变的,我认为,并且您将父元素的innerHTML设置为与之前从其中检索到的字符串完全相同。

相反,我建议:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var firstname = document.getElementsByTagName('input')[0],
    parentHTML = firstname.parentNode.innerHTML,
    newHTML = parentHTML.replace(/\>\s+\</g,'');
firstname.parentNode.innerHTML = newHTML;

console.log(parentHTML, newHTML, (parentHTML == newHTML));

JS Fiddle demo

关于来自jfriend00的评论(如下),似乎正则表达式是问题所在,\n与提供的模式不匹配,在这种情况下,以下修改满足要求:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var firstname = document.getElementsByTagName('input')[0],
    parentHTML = firstName.parentNode.innerHTML;
parentHTML = parentHTML.replace(/>\s+</g, "><");
firstName.parentNode.innerHTML = parentHTML;

console.log(firstname, parentHTML);

JS Fiddle demo

参考文献:

票数 26
EN

Stack Overflow用户

发布于 2016-10-13 16:45:19

在大多数情况下,我建议从以下位置删除空间:

  • #en0# of document
  • End of document
  • After > < character

我能想到的有两种情况,这不会达到你想要的效果,这两种情况也会影响上面不那么激进的解决方案。

  • inline-block元素之间的空白实际上是布局中预期的或预期的部分。如果此空格折叠为零个字符,则删除元素之间的隐式空格。通过将下面的正则表达式更改为" ".
  • My原始答案已更新以保留<script><style><pre><textarea>标记中的空格,可以避免此问题。除了<pre>之外,所有这些都是CDATA,这意味着内容不是HTML,直到找到结束标记才会被解析,这意味着正则表达式是一个完整的解决方案。如果<pre>是嵌套的或使用了white-space CSS属性,则不会保留您的内容。

解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    collapsed = expanded.replace(/(<(pre|script|style|textarea)[^]+?<\/\2)|(^|>)\s+|\s+(?=<|$)/g, "$1$3");
票数 21
EN

Stack Overflow用户

发布于 2013-04-09 09:35:30

仅空格:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
parentHTML = parentHTML.replace( new RegExp( "\>[ ]+\<" , "g" ) , "><" ); 

换行、制表符和空格:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
parentHTML = parentHTML.replace( new RegExp( "\>[\s]+\<" , "g" ) , "><" ); 

https://regex101.com/r/sD7cT8/1

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12014441

复制
相关文章
javascript 空格_css怎样输出空格
document.write(” 1 2 3 “);
全栈程序员站长
2022/11/09
3.2K0
使用 Python 从字典键中删除空格
Python是广泛用于数据分析,Web开发,AI的平台,并在自动化的帮助下执行许多不同类型的任务。对我们来说,了解 python 的不同功能很重要。在本文中,我们将了解字典功能以及如何使用 python 删除键之间的空格。此功能主要用于根据需要存储和检索数据,但有时字典的键值之间可能存在空格。当用户希望访问数据时,甚至在要编辑数据的情况下,这会导致错误。
很酷的站长
2023/08/11
3690
使用 Python 从字典键中删除空格
JavaScript 去除空格函数
return strToTrim.replace(/^\s+|\s+$/g,"")
大江小浪
2018/07/24
1K0
php删除字符串的空格
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105882.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
3.6K0
js去除字符中的所有空格
一般实现这种都是使用正则,例如以下代码: var trim = function(str){ return str.replace(/\s*/g,""); } str.replace(/\s*/g,""); //去除字符串内所有的空格 str.replace(/^\s*|\s*$/g,""); //去除字符串内两头的空格 str.replace(/^\s*/,""); //去除字符串内左侧的空格 str.replace(/(\s*$)/g,""); //去除字符串内右侧的空格 另外还可以使用join来实现,
IT工作者
2022/01/24
10.4K0
代码之间为什么要加空格?
以上,是我在知乎上看到的一个题目,感觉蛮清新的,说得似乎有理有据。就好像在说,据我观察,大多数人喜欢早晚刷牙,而且还会嘲笑不刷牙的人。这些支持者认为,刷牙有益于牙齿健康,空腔清新。但我不喜欢刷牙,因为我牙齿没坏,吃嘛嘛香。我不认为刷牙能保护牙齿健康,反而很浪费时间。
沉默王二
2020/06/17
1.2K0
自动删除vim中行尾空格
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序手艺人
2019/10/22
5.1K0
VUE 项目 去除 input 框值 所有空格、vue 组件去除空格、input 去除空格
1.以下所有方法 我都试过:不行。 str.trim(); //去掉首尾空格 str.replace(" ",""); //去除所有空格,包括首尾、中间 str.replaceAll(" ", ""); //去掉所有空格,包括首尾、中间 str.replaceAll(" +",""); //去掉所有空格,包括首尾、中间 str.replaceAll("\\s*", ""); //可以替换大部分空白字符, 不限于空格 ; 2. 改用正则: str.replace(/\s*/g,"") 运行成功,特别记录下
微风-- 轻许--
2022/04/13
4.3K0
mobi电子书中删除多余的空格
  过年放假,还是在宅家里看书,结果发现,有些电子书网上整理的并不好,有很多没有用的空格,十分影响阅读效率,于是打算看看能不能解决一下。步骤也很简单,首先下载一个caliber,这个重度kindle使用者都知道,然后我们需要把mobi转换为epub格式,这个格式是可以编辑的,caliber有自带的caliber editor这样的编辑器,打开就好。
钱塘小甲子
2020/02/14
3K0
mobi电子书中删除多余的空格
剑指offer - 替换空格 - JavaScript
题目描述: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为 We Are Happy.则经过替换之后的字符串为 We%20Are%20Happy。
心谭博客
2020/04/21
3960
php案例 去掉文本所有的空格
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 cyg.php 输入的: 输出的: ---- cyg.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> 去除文本中所有的空格 </title> <meta name="Generator"
贵哥的编程之路
2022/09/23
6.2K0
php案例 去掉文本所有的空格
Windows下指定的服务已经标记为删除”
最近在服务器上升级一个软件时,手动使用sc delete NewMQSystem命令删除NewMQSystem这个服务,然后再在CMD窗口中运行下面的命令:
ccf19881030
2020/09/22
4K0
Windows下指定的服务已经标记为删除”
【说站】python标记删除如何实现?
3、对于删除操作后的每一个引用-1,此时num,num1的引用为0,将其放入死亡容器中,如果引用大于0,则放入存活容器中。
很酷的站长
2022/11/24
7080
【说站】python标记删除如何实现?
自动在网页中英文之间加空格
虽然不知道这是不是真的,不过在中英混排时加上空格的话看起来确实要舒服不少,知乎(https://www.zhihu.com/question/19587406)上关于这个问题的讨论也不少。
王图思睿
2021/06/15
2.2K0
Typecho 中英文之间自动加上空格
以前写博客,不太注意排版细节,而且那个时候也还没有 Markdown。 最近无意中点开几篇老文章看起来比较混乱。 所以决定统一调整一下格式,其中有一项就是把中英文之间自动加上空格。 本文主要讲怎么把中英文之间怎么自动加上空格。
eallion
2022/12/20
4730
VBA实用小程序56: 删除多余空格
下面的自定义函数:TrimAllSpace函数,可以将词语之间含有多个空格分隔的字符串整理成只有一个空格分隔词语的字符串,同时移除字符串开头和结尾处的空格。该函数有两个参数,其中第二个参数设置是否保留字符串中的制表符,默认为True,即不保留制表符。
fanjy
2019/08/08
2.7K0
VBA实用小程序56: 删除多余空格
javascript去掉字符串前后空格
使用场景 当我们进行一些页面编辑时,字符串前后的空格,通常是无效的。因此需要在获取信息时,进行过滤。 比如: 输入:[空格][空格]a[空格]b[空格][空格][空格] 得到:a[空格]b 代码如下: 去掉前面的空格 1 function LTrim(str){ 2 var i; 3 for(i=0;i<str.length;i++){ 4 if(str.charAt(i)!=" ") 5 break; 6 } 7
用户1154259
2018/01/17
2.2K0
点击加载更多

相似问题

使用JavaScript删除HTML标记之间的空格

10

Javascript -如何删除单词之间的所有额外空格

70

JavaScript删除某些标记之间的所有内容

33

用JavaScript删除html中结束标记和开始标记之间的空格。

21

删除HTML中标记之间的空格

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文