两个兼容问题

今天解决了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");

   两种下面的兼容都不错了。

原文地址:https://www.cnblogs.com/wonder223/p/3232959.html