重新认识Jquery中的html()方法
今天测试给我提了一个bug:在页面上我需要借助"</td>"来获取表格中某行内的某列以后的单元格,也就是说里面有这样一行代码:“tr = tr.substring(tr.indexOf("</td>"));”,这个JavaScript脚本在谷歌等浏览器中均可以达到预期效果,可是在IE8中就不行了,弄了一个多小时最后终于发现了问题,先看如下代码:
<html> <head> <title>重新认识Jquery中的html()方法</title> <meta http-equiv="Content-Type" content="text/html; charset=GB2312"/> <script type="text/javascript" src="./jquery-1.6.2.js"></script> <script type="text/javascript"> $(function(){ alert($("table").html()); }); </script> </head> <body> <table width="100" border="0" cellpadding="0" cellspacing="0"> <tr> <td><input type="text" id="userName" name="userName"></td> </tr> </table> </body> </html>该代码在谷歌浏览器中可以“理想”地在提示框中显示出来,可是在IE8中我们会发现提示框中的说有标签均变成了大写,所以“tr = tr.substring(tr.indexOf("</td>"));”当然不起作用了,没办法,最终的解决方案为:tr = tr.indexOf("</td>") == -1 ? tr.substring(tr.indexOf("</TD>")) : tr.substring(tr.indexOf("</td>"));
说明:上面解决方案中tr是变量,呵呵呵,我只是粘贴出了一部分代码,这行代码是在$.each()数组遍历方法中的
【0分下载资源】
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。