使用js去掉pre标签前面的空格
第一次正式的小项目:当碰到<pre>标签的时候,里面的内容总是会在段落开头出现一排空格,在网上找了很久,没有看见解决方案,于是就使用js将其去掉后再显示出来。可能效率不高,但也算自己解决了一个小问题吧。所以便记下来。
pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}<!--让pre标签里面的内容碰到父级”容器“时候自动换行-->
function toRightFormat(){
var changeViewObj = document.getElementById("preId");
var changeViewVal = changeViewObj.innerHTML;
var subStrTmp = changeViewVal.indexOf("\n",0);
var subStrTmp_2 = changeViewVal.substring(0,subStrTmp-1).match(/[\S]/);//第一个非空格字符
var subStrTmp_3 = changeViewVal.substring(0,subStrTmp-1).indexOf(subStrTmp_2);//第一个非空格字符所在位置
changeViewObj.innerHTML = changeViewVal.substring(0,subStrTmp-1).substring(subStrTmp_3,subStrTmp);//去掉<pre>前面空格后的第一行
var lastStr = changeViewVal.substring(subStrTmp,changeViewVal.length);//第一行后的所有内容
changeViewObj.innerHTML += "<br>";
var tempStr = "<pre>" + lastStr + "</pre>";//如果不加一个<pre>在里面的话,+=操作会让后面的换行符变成空格。找寻了许多解决方案,最后都没有搞定。于是便使用这个了……
changeViewObj.innerHTML += tempStr;
}