重新认识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分下载资源

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。