今天解决了2个Chrome的兼容问题:
1)一个比较简单的,
<input type="text" id="spFax" maxlength="20" />
在JS中取值:
$get("spFax").innerText= dtM.rows[0]["Fax"];
这个在IE下没有任何问题,但是在Chrome下不可用,还在Chrome的调试功能还不错,Chrome下F12之后,直接标示了错误位置。
网上搜一下,发现标准的做法是
$get("spFax").value = dtM.rows[0]["Fax"];
修改之后,IE和Chrome下都没有问题。
2)在一个<table>标签中,有个<tr>需要根据情况是否显示。默认的肯定是style="display:none",看不见,在需要显示的时候进行设定。
和大家一样的想法是
$get("trContactMailAddr").style.display=block;
这个是没问题的,在IE和Chrome下都能显示出来,可是(为什么总是有那么多的可是呢?)Chrome下整个<tr>都在上面一个<tr>的第一个<td>内,
格式错乱掉了。
Chrome下F12,看到style="display:block;" 是正确的,整个<tr>没有任何问题。
看来只能使用其它手段了,我在F12下强制删除style="display:block;",画面正确了。
想到的方法是去掉style这个属性,那么应该就OK了。
修改为
$get("trContactMailAddr").removeAttribute("style");
两种下面的兼容都不错了。