HTML源码中代码片断(字符串)为如下形式字符串1
字符串2
字符串3而在HTML页面中显示如下:字符串1 字符串2 字符串3
现拟实现JS动态给每行(HTML源码)字符串前插入一个HTML标签,如:
<li>字符串1
<li>字符串2
<li>字符串3请问该如何实现

解决方案 »

  1.   

    li标签总要闭合吧,
    此功能在ie下好像不好完成,
      

  2.   

    var s = "字符串1\n字符串2\n字符串3";
    alert(s.replace(/(.+)/g, '<li>$1</li>'))
      

  3.   


    var s = "字符串1\n字符串2\n字符串3"; 
    alert(s.replace(/^(.*)$/img, "<li>$1</li>")) 
      

  4.   

    其实根本的问题就是不知道HTML源代码中的换行在JS中用什么来表示,“\r\n”是行不通的
      

  5.   

    我猜LZ是要加上<br>标签来实现换行。
      

  6.   

    同样关注下.ie 下: 
    <div id="x">
    字符串1
    字符串2
    字符串3
    </div>
    <script>
    alert(x.innerHTML) // 连在一行了  "字符串1 字符串2 字符串3 "
    /*
    不改 HTML 的情况下,有没有办法,看到:
    字符串1
    字符串2
    字符串3
    */
    </script>
      

  7.   

    首先s变量中没有"\n"在你提醒之后特意试了一下,该正则……如下:
    <li>
    字符串1 
    字符串2 
    字符串3
    </li>而非
    <li>字符串1 </li>
    <li>字符串2 </li>
    <li>字符串3</li>
      

  8.   


    我需要动态将行分出来并添加样式由于取不到HTML代码中的换行标志,现在只能在内容中手动添加标志
      

  9.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <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>
      

  10.   

    以这段代码为例
    <div>
    第一行
    第二行
    第三行
    </div>
    ie中的innerHTML,outerHTML,nodeValue是取不到换行符的,但firefox的innerHTML,nodeValue的返回结果和源码一致是有换行符的。
    所以,你的问题在firefox下比较好办。
    如果在ie下,只能先获取本页的源码了,用ajax下载本页的源码,再做文本分析。
    在后台就把内容中手动添加标志,是个不错的方法,添加注释就行了,换行处添加一个<!-- -->不影响页面解析,但可以被innerHTML,outerHTML,nodeValue取到。
      

  11.   


    还真以为能取到呢up,
    早说了,ie下基本不行
      

  12.   


    是的,我只看了FF下,没有在IE下看,可能误导楼主了,不好1S了
      

  13.   

    试了好像IE下不行
    可以用<pre>或<textarea>容器代替