JS内容
var cata= '<H3>北京亚龙  欢迎您选购</H3>
<dl>SDFSFSD</dl>
<dt>asfsafa</dt>
';var cata= new Array(); //定义一数组
var catb= cata.split("\r\n");
for (i = 0;i<catb.length;i++)
{
 document.getElementById("AllSort").innerHTML += catb[i];
}页面调用这个JS<DIV ID="AllSort"></DIV>运行后页面没显示,发现是因为cata中有回车 ,用cata.split("\r\n");这个方法也不能去回车,怎么办?

解决方案 »

  1.   

    cata中语句的回车是程序自动产生的,在标签</dl>后自动加上的,有什么办法再去车这些回车呢?
      

  2.   

    用正则
    <script >
    var cata= ' <H3>北京亚龙  欢迎您选购 </H3> \n\
    <dl>SDFSFSD </dl> \n\
    <dt>asfsafa </dt> \n\
    '; var cata = cata.replace(/[\r\n]/g,"");
    alert(cata);
    </script>
      

  3.   

    我是做的模拟数据,
    var cata = cata.replace(/[\r\n]/g,"");
    alert(cata);
    只要用这个正则替换就行了
      

  4.   

    split你可以用正则试试
    var catb= cata.split(/\n/); 
      

  5.   

    var cata= ' <H3>北京亚龙  欢迎您选购 </H3> 
    <dl>SDFSFSD </dl> 
    <dt>asfsafa </dt> 
    '; 
    这样写变量是错误的:
    改成这样,后面加个\
    var cata= ' <H3>北京亚龙  欢迎您选购 </H3>\
    <dl>SDFSFSD </dl>\
    <dt>asfsafa </dt>\ 
    '; 
      

  6.   

    ' <H3>北京亚龙  欢迎您选购 </H3> 
    <dl>SDFSFSD </dl> 
    <dt>asfsafa </dt> 
    '你这段内容是不是服务器端输出的这样你要在服务端就把回车给去了,你用js去是没有用的,因为这时候已经出错了
      

  7.   

    可以在服务器上先将'    <H3> 北京亚龙      欢迎您选购    </H3>
    <dl> SDFSFSD    </dl>
    <dt> asfsafa    </dt>
    '中的\r\n换成其它的字符比如%后
    再用js换回来.
      

  8.   

    是的,服务器直接输出的就是'   <H3> 北京亚龙     欢迎您选购   </H3>   
    <dl> SDFSFSD   </dl>   
    <dt> asfsafa   </dt>   
    ' 再文本文档里看,每个结束标记后都回车了,这该怎么办呢?
      

  9.   

    服务器端直接输出就是这样了,那你得从服务器端Replace("\\n","")啊,在客户都输出成这样都报错了,客户端怎么处理
      

  10.   

    在js里替换单引号和\r\nvar str=document.getElementById('querydiv').innerHTML;
    while(str.indexOf("'")>-1){
        str=str.replace("'","&#39");
    }
    while(str.indexOf("\r\n")>-1){
        str=str.replace("\r\n","");
    }