用JSP标签生成的TABLE,
循环获取第一列各个单元格的数据,上下比较,相同的话合并。
原本写的js脚本没问题,
但今天发现在装有IE10的机器上,执行有问题。
原因在于用html()获取单元格内容,会无缘无故增加\n\t等东西。
请问,这个是浏览器设置的问题吗?还是IE10就是存在这样的问题。<table><tr><td>单元格</td></tr></table>
在通常浏览器下用html()获取的内容是:"单元格"
IE10下得到的是:"\n\t\t\t\t\单元格\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t"求解!

解决方案 »

  1.   

    方案1:用text()替代html();
    方案2:用$.trim($("****").html());过滤空格
      

  2.   

    这是浏览器的问题啊,我也遇到过,innerHTML获取的东西会多加点东西。
      

  3.   


    我试过text(),也是一样的会多出好多\n\t之类的东西。
      

  4.   

    按F12把浏览器模式设置成IE9,再看一下
      

  5.   

    不管怎样,还是养成一个良好的习惯吧, 用jquery 的 trim() 
    $trim($("xxxx").text())  只是获取文本值的时候这样写最好
     
      

  6.   

    $.trim($("xxxx").text())   少打一个 . 
      

  7.   

    $.trim($("xxxx").text())   少打一个 . 
    用trim也不行,无法吧\n\t去掉啊。
      

  8.   

    我之前没看仔细,看你是获取某个元素文本内容时候用的是html() 方法而不是不要用text 方法,这样不太好,都忘了 你实际的是要去掉\t \n了。
    \n \t 不是HTML 语言 所以trim 是去除不掉,trim去除指的是&nbsp; 这样的 才能去掉前后,
    \n \t 是针对于一个字符串内部添加显示的一些特定的符号,比如换行,添加一个制表符之类的你如果不想要这样的话 要单独做替换处理 例如
     var s = data.replace("\t", "").replace("\n","");