用JQuery的html方法获取td单元格内容,为何在不同的机器上会有不同的值?

夜雨山庄 2013-05-20 02:19:06
用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"

求解!
...全文
238 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILOVE_ASPNET 2013-05-22
  • 打赏
  • 举报
回复
我之前没看仔细,看你是获取某个元素文本内容时候用的是html() 方法而不是不要用text 方法,这样不太好,都忘了 你实际的是要去掉\t \n了。 \n \t 不是HTML 语言 所以trim 是去除不掉,trim去除指的是  这样的 才能去掉前后, \n \t 是针对于一个字符串内部添加显示的一些特定的符号,比如换行,添加一个制表符之类的 你如果不想要这样的话 要单独做替换处理 例如 var s = data.replace("\t", "").replace("\n","");
ILOVE_ASPNET 2013-05-21
  • 打赏
  • 举报
回复
引用 6 楼 ILOVE_ASPNET 的回复:
不管怎样,还是养成一个良好的习惯吧, 用jquery 的 trim() $trim($("xxxx").text()) 只是获取文本值的时候这样写最好
$.trim($("xxxx").text()) 少打一个 .
ILOVE_ASPNET 2013-05-21
  • 打赏
  • 举报
回复
不管怎样,还是养成一个良好的习惯吧, 用jquery 的 trim() $trim($("xxxx").text()) 只是获取文本值的时候这样写最好
夜雨山庄 2013-05-21
  • 打赏
  • 举报
回复
引用 7 楼 ILOVE_ASPNET 的回复:
[quote=引用 6 楼 ILOVE_ASPNET 的回复:] 不管怎样,还是养成一个良好的习惯吧, 用jquery 的 trim() $trim($("xxxx").text()) 只是获取文本值的时候这样写最好
$.trim($("xxxx").text()) 少打一个 . [/quote] 用trim也不行,无法吧\n\t去掉啊。
  • 打赏
  • 举报
回复
按F12把浏览器模式设置成IE9,再看一下
夜雨山庄 2013-05-20
  • 打赏
  • 举报
回复
引用 1 楼 z284122755 的回复:
方案1:用text()替代html(); 方案2:用$.trim($("****").html());过滤空格
我试过text(),也是一样的会多出好多\n\t之类的东西。
ftszhang 2013-05-20
  • 打赏
  • 举报
回复
引用 1 楼 z284122755 的回复:
方案1:用text()替代html(); 方案2:用$.trim($("****").html());过滤空格
学习。。。
卡布洛 2013-05-20
  • 打赏
  • 举报
回复
这是浏览器的问题啊,我也遇到过,innerHTML获取的东西会多加点东西。
  • 打赏
  • 举报
回复
方案1:用text()替代html(); 方案2:用$.trim($("****").html());过滤空格

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧