跨浏览器修剪元素的最佳方式是什么innerHTML
?
jsfiddle:http: //jsfiddle.net/6hk8z/
问问题
752 次
3 回答
0
我假设您对
不是空格而是仅由浏览器呈现的 html 代码感到困惑。请参阅下面的自定义实现:
String.prototype.trimmed = function(){
return this.replace(
/^(\s| |<br\s*\/?>)+?|(\s| |<br\s*\/?>)+?$/ig, ' '
).trim();
}
于 2013-08-26T22:17:22.733 回答
0
使用 DOM,而不是innerHTML
您需要解析的 DOM。
function trimContents(element) {
function iterate(start, sibling, reg) {
for(var next, c = element[start]; c != null; c=next) {
next = c[sibling];
if (c.nodeType == 1 && c.nodeName.toLowerCase() == "br"
|| c.nodeType == 3 && !(c.nodeValue = c.nodeValue.replace(reg, "")))
element.removeChild(c);
else
break;
}
}
iterate("firstChild", "nextSibling", /^\s+/);
iterate("lastChild", "previousSibling", /\s+$/);
}
于 2013-08-26T23:17:04.617 回答
-1
你试过 jQuery$.trim()
吗?有关更多详细信息,请参阅 jQuery文档。
于 2013-08-26T22:16:26.960 回答