问题是这样的:一个表格中(N行2列)的某一行先初始化的时候,这行使用了display:none隐藏了,然后通过某个事件,把显示出来。
看起来是个很容易的js,先给tr设置一个ID,然后使用document.getElementById("ID").style.display="block";就可以了。可这句在IE中是正常的,一点问题都没有。可把这个放到FF中,效果就不一样了。见下面的代码:
01 | < table
width = "450"
border = "1"
cellspacing = "0"
cellpadding = "0" > |
06 | < tr
id = "ID"
style = "display:none;" > |
16 | < input
type = "button"
onClick = "f()"
value = "显示"
/> |
17 | < script
type = "text/javascript" > |
19 | document.getElementById("ID").style.display="block"; |
(
鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
分别在IE、FF和Chrome中测试一下以上的代码,点击里面的显示按纽看看效果,两个明显不一样的效果
原因:这是两个不同的浏览器引起的
解决方法:要先判断是哪种浏览器,然后给display赋值不同的属性,IE中display赋值为block就可以了,FF和chrome中需要给display赋值为table-row。代码如下:
01 | < table
width = "450"
border = "1"
cellspacing = "0"
cellpadding = "0" > |
06 | < tr
id = "ID"
style = "display:none;" > |
16 | < input
type = "button"
onClick = "f()"
value = "显示"
/> |
17 | < script
type = "text/javascript" > |
19 | if(getbrowse()=="MSIE"){ |
23 | BrowseType="table-row"; |
26 | document.getElementById("ID").style.display=BrowseType; |
28 | function getbrowse(){ //判断当前浏览器是何种浏览器 |
31 | Agent=navigator.userAgent; |
32 | if(Agent.indexOf("Opera") != -1) {
|
36 | else if(Agent.indexOf("MSIE") != -1) {
|
40 | else if(Agent.indexOf("Firefox") != -1) {
|
44 | else if(Agent.indexOf("Netscape") != -1) {
|
48 | else if(Agent.indexOf("Safari") != -1) {
|
(
鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
这样就解决了。
再去IE、FF和Chrome三个浏览器中试试,是不是都正常了