1

我有一个 java 脚本女巫在 Firefox 和 IE 中可以正常工作,但在 chrome 中不能正常工作!我想当我单击按钮时它会显示表格。如果我使用 chrome 并单击它会加载表格,但我看不到整个表格,因为它的滚动无法正常工作。这是我的脚本:

function toggle_it(itemID) {
    if ((document.getElementById(itemID).style.display == 'none'))
    {
        document.getElementById(itemID).style.display = 'inline';
    } else {
        document.getElementById(itemID).style.display = 'none';
    }
}

<tr class="query-box">
    <td width="30%">&nbsp;</td>
    <td><p align=right><a href="#" onClick="toggle_it('mytable id')"><img border="0" 
                                                                          src="mypicbutton.gif">&nbsp;More...</a>&nbsp;</p></td>
</tr> 
4

2 回答 2

3

您将表格设置displayinline,但这对于表格来说是不正常display的;正常的是table。但是,要让您toggle_it在任何类型的元素上工作,请将其设置为'',这将使其表现得好像您根本没有设置 a 一样,对于任何类型的元素display都回退到默认值display

function toggleIt(id) {
    var element = document.getElementById(id);
    if(element.style.display === 'none') {
        element.style.display = '';
    }else{
        element.style.display = 'none';
    }
}

如您所见,我还以其他方式对代码进行了一些清理。

于 2013-06-03T05:39:02.187 回答
0

我怀疑问题出在 Chrome 为style.display. 尝试以下操作:

function toggleIt (id) {
  var el = document.getElementById (id);
  el.style.display = el.style.display == 'none' ? '' : 'none';
}

通过测试none此代码是否相等,无论初始值如何style.display

于 2013-06-03T07:09:34.543 回答