gpt4 book ai didi

javascript - 使用 JavaScript 删除标签之间的所有空格

转载 作者:可可西里 更新时间:2023-11-01 02:28:26 25 4
gpt4 key购买 nike

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

<li>            
<label for="firstName" class="mainLabel">First Name : </label>
<input type="text" name="firstName" id="firstName"/>
<span>This must be filled</span>
</li>

这是 JS 代码:

var parentHTML = firstName.parentNode.innerHTML;
parentHTML = parentHTML.replace(/>\n</g,"><");
firstName.parentNode.innerHTML = parentHTML;

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

最佳答案

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

相反,我建议:

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 与提供的模式不匹配,在这种情况下,以下修改满足要求:

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 .

引用资料:

关于javascript - 使用 JavaScript 删除标签之间的所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com