HTML源码中代码片断(字符串)为如下形式字符串1
字符串2
字符串3而在HTML页面中显示如下:字符串1 字符串2 字符串3
现拟实现JS动态给每行(HTML源码)字符串前插入一个HTML标签,如:
<li>字符串1
<li>字符串2
<li>字符串3请问该如何实现
字符串2
字符串3而在HTML页面中显示如下:字符串1 字符串2 字符串3
现拟实现JS动态给每行(HTML源码)字符串前插入一个HTML标签,如:
<li>字符串1
<li>字符串2
<li>字符串3请问该如何实现
调试欢乐多
此功能在ie下好像不好完成,
alert(s.replace(/(.+)/g, '<li>$1</li>'))
var s = "字符串1\n字符串2\n字符串3";
alert(s.replace(/^(.*)$/img, "<li>$1</li>"))
<div id="x">
字符串1
字符串2
字符串3
</div>
<script>
alert(x.innerHTML) // 连在一行了 "字符串1 字符串2 字符串3 "
/*
不改 HTML 的情况下,有没有办法,看到:
字符串1
字符串2
字符串3
*/
</script>
<li>
字符串1
字符串2
字符串3
</li>而非
<li>字符串1 </li>
<li>字符串2 </li>
<li>字符串3</li>
我需要动态将行分出来并添加样式由于取不到HTML代码中的换行标志,现在只能在内容中手动添加标志
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<style type="text/css">
#oldc{
width:600px;
border:4px solid red;
}
#newc{
width:600px;
border:4px solid blue;
}
</style>
<script type="text/javascript">
window.onload=function(){
var oldcontent=document.getElementById("oldc").innerHTML;
var newcontent=oldcontent;
newcontent=newcontent.replace(/(.+)/g,"<li>$1</li>");
document.getElementById("newc").innerHTML=newcontent;
}
</script>
</head>
<body>
<div id="oldc">
字符串1
字符串2
字符串3
……
字符串N
</div>
<br />
<div id="newc"></div>
</body>
</html>
<div>
第一行
第二行
第三行
</div>ie中的innerHTML,outerHTML,nodeValue是取不到换行符的,但firefox的innerHTML,nodeValue的返回结果和源码一致是有换行符的。
所以,你的问题在firefox下比较好办。
如果在ie下,只能先获取本页的源码了,用ajax下载本页的源码,再做文本分析。
在后台就把内容中手动添加标志,是个不错的方法,添加注释就行了,换行处添加一个<!-- -->不影响页面解析,但可以被innerHTML,outerHTML,nodeValue取到。
还真以为能取到呢up,
早说了,ie下基本不行
是的,我只看了FF下,没有在IE下看,可能误导楼主了,不好1S了
可以用<pre>或<textarea>容器代替