说我在<div>标签中有以下代码:

<div id="something"><br /> <br />Hello<br />World<br><br />   </div>

我如何在JS方面进行trim ,以便将所有空白都修剪掉,并且HTML换行符中断,所以我得到了以下内容:

<div id="something">Hello<br />World</div>

#1楼 票数:1

用正则表达式替换,它将是

return html.replace(/\s*(<br ?\/>\s*)+/g, "<br />").replace(/^<br \/>|<br \/>$/g, "");

在DOM中,您需要遍历div的所有子级,并删除空的空格和背对背br元素:

var el = document.getElementById("something");
for (var i=0, remove=true; i<el.childNodes.length; ) {
    var child = el.childNodes[i];
    if (child.nodeType == 3 && child.isElementContentWhitespace)
        el.removeChild(child);
    else if (child.nodeType == 1) {
        if (child.nodeName.toLowercase() == "br" && remove)
            el.removeChild(child);
        else
            // run DOM tree recursively?
        remove = true;
    } else {
       remove = false;
       i++;
    }
}
if (el.lastChild.nodeType == 1 && el.lastChild.nodeName.toLowercase() == "br")
    el.removeChild(el.lastChild);

#2楼 票数:0

您可以使用以下命令删除字符串开头和结尾的空格和<br />节点:

x = x.replace(/^( |<br \/>)*(.*?)( |<br \/>)*$/,"$2");

但您必须将其应用于div元素的innerHTML

  ask by Hengjie translate from so

未解决问题?本站智能推荐:

2回复

转 换行符使用javascript(不是php)

我需要从div中提取带有段落,跨度和其他内容的文本,并将其放入文本区域。 我只需要加载文本,而不是HTML。 为此,我可以使用: 但是,我确实需要保留换行符。 为此,我正在做: 但这似乎不起作用,因为当我将文本加载到文本区域中时,它就很平坦,没有换行符。 难道我做
3回复

Jquery 或 javascript 添加一个换行符在 a 中的 x 个字符之后

我正在寻找一种在<div>仅前 4 或 5 个字符后插入<br />的方法。 示例: <div id="wine-name"> 2008 赤霞珠</div> 显示如下: 2008年赤霞珠 不确定 javascript 或 jQuery 哪个更容易
3回复

如何显示换行符在 JavaScript 中?

我想使用 javascript 在由<br>分隔的div显示一些信息。 示例只是 html: 现在我想用 javascript 显示相同的东西。 如何解决<br>的问题? 我现在的代码: 谢谢你的帮助
2回复

将换行符转换为 在标签中

我需要将标签中的顶级换行符转换为<br>以便它们实际上看起来像换行符。 例如标签 应该成为 我已经尝试使用.childNodes扫描顶级文本节点并替换文本,但是在文本输出中留下了<br> ,因为它没有正确设置格式,而只是输出为用户可以看到的文本。
2回复

输入之间的BR标签不会造成换行符[关闭]

关闭。 这个问题是题外话。 它当前不接受答案。 了解更多 。 想改善这个问题吗? 更新问
5回复

jQuery / JS,删除/修剪尾随html换行符?

我正在寻找一些想法,以最有效的方式使用javascript或jquery删除尾随的html <br />标签。 规则: 必须移除前端和后端的br。 它必须删除非关闭和自动关闭的br标签。 文本内容中的所有内容都必须保持不变。 H
2回复

使用Javascript删除html换行符

我正在尝试使用jQuery获取元素的HTML,然后将其发布到服务器。 我成功抓住了它,但是我无法删除标签和默认渲染的换行符之间的空白区域。 抓取的HTML代码如下所示: 我想只修剪标签之间的空格。 我使用过这个正则表达式: str.replace(/\\s+/g, ' '); 。
2回复

检测自然换行符javascript

当我键入不可调整大小的文本区域(如“ hello world, this is a demo ,并且文本区域足够小,它将如下所示: 这不是由\\ n或其他原因引起的。 如何检测文本区域中的自然换行符? 可以在这里找到一个小提琴: http : //jsfiddle.net/yx6B7