1

Newby Javascript 问题在这里。哦,我知道有很多不同的方法可以做到这一点——其中很多在这个网站上都有解释——但这个问题与这段代码特别相关。

<html>
<head>
<script type="text/javascript" language="javascript">
    function getField(fieldType, fieldTitle) {
        var docTags = document.getElementsByTagName(fieldType);
        for (var i = 0; i < docTags.length; i++) {
            if (docTags[i].title == fieldTitle) {
                return docTags[i]
            }
        }
    }

    function SetHidden() {
        getField('tr', 'TRA').style.display = 'none';
        getField('tr', 'TRB').style.display = '';
    }

    SetHidden()

</script>



</head>

<body>

<table>
<tr title="TRA">
    <td>Tier A Kit Count</td>
<tr title="TRB">
    <td>Tier B Kit Count</td>
</tr>
</table>

</body>
</html>

此代码已在我正在处理的站点上广泛使用[这是一个具有一些自定义 javascript 的共享点页面],但如果我在新页面上使用它,我会不断收到getField('tr', 'TRA').style.display = 'none'样式未定义或不是对象的错误。

我是在错误的地方得到一个逗号,还是共享点页面在我不在的其他地方调用 getElementsByTagName?

任何帮助解决这个特定的代码位将不胜感激。

问候

4

1 回答 1

2

您的SetHidden()函数可能会在页面完全加载之前被调用。尝试将其更改为:

window.onload = SetHidden;
于 2012-09-20T00:31:41.163 回答