[英]How to trim html content in js?
I have a contenteditable div and I would like to remove empty lines and spaces at the beginning and the end before sending his content to server.我有一个 contenteditable div,我想在将他的内容发送到服务器之前删除开头和结尾的空行和空格。 I have read some answers here but don't find what I want.
我在这里阅读了一些答案,但没有找到我想要的。 I would like to do the same as
trim
function by deleting spaces(as nbsp;
) at the begenning and at the end but also delete empty lines(which mean empty block as <div></div>
or <br>
or <div><br></div>
and so on...)我想通过在开始和结束时删除空格(如
nbsp;
)来做与trim
功能相同的功能,但也删除空行(这意味着空块为<div></div>
或<br>
或<div><br></div>
等等...)
Here is some examples:下面是一些例子:
<div><br></div><div>Hello</div><div>World</div><div><br></div></div>
Should be应该
<div>Hello</div><div>World</div>
And also并且
<div><br></div><div>Hello</div><div></div><div>World</div>
Should be应该
<div>Hello</div><div></div><div>World</div>
And so on...等等...
How to do this please ?请问怎么做?
Here is what are you looking for, using for loop
, innerHTML
and outerHTML
properties.这是您要查找的内容,使用
for loop
、 innerHTML
和outerHTML
属性。
function trimHTML(t) { var between = false; var outHTML = ""; for (var i = 0; i < t.childNodes.length; i++) { var lt = t.childNodes[i]; //console.log(lt.innerHTML) var nowset = false; if (lt.innerHTML != undefined && lt.innerHTML != "" && lt.innerHTML != "<br>") { between = !between; nowset = true; outHTML += lt.outerHTML; } if (between && !nowset) { outHTML += lt.outerHTML; } } return outHTML; } var t = document.querySelector("#t"); var result = document.querySelector("#result"); t.innerHTML = "<div></div><div></div><div><br></div><div>Hello</div><div>World</div><div><br></div></div>"; result.value = "---TEST1: \\nfrom:\\n" + t.innerHTML + "\\nto:\\n" + trimHTML(t); t.innerHTML = " <div><br></div><div>Hello</div><div></div><div>World</div> "; result.value += "\\n---TEST2: \\nfrom:\\n" + t.innerHTML + "\\nto:\\n" + trimHTML(t);
<div id="t"> </div> <textarea id="result" style="width: 100%;min-height:90px;"> </textarea>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.