有人能解释一下为什么我的javascript不工作吗?

有人能解释一下为什么我的javascript不工作吗?,javascript,html,css,Javascript,Html,Css,有人能解释一下我在使用Javascript显示隐藏的DIV时出错的地方吗。我已经看过了以前的答案,但它们似乎不起作用 .newinner { display: none; padding-left: 10px; padding-top: 10px; background: white; width: 905px; margin: auto; height: 40

有人能解释一下我在使用Javascript显示隐藏的DIV时出错的地方吗。我已经看过了以前的答案,但它们似乎不起作用

        .newinner
    {
        display: none;
        padding-left: 10px;
        padding-top: 10px;
        background: white;
        width: 905px;
        margin: auto;
        height: 400px;
    }
    </style>
    <script>
    function ShowDiv(newinner)
    {
        document.getElementsByClassName("newinner").style.display="block";
    }
    </script>
.newinner
{
显示:无;
左侧填充:10px;
填充顶部:10px;
背景:白色;
宽度:905px;
保证金:自动;
高度:400px;
}
函数ShowDiv(新内部)
{
document.getElementsByClassName(“newinner”).style.display=“block”;
}
下面是DIV

    <button type="button" name="faddress" value="Show Div" onClick="showDiv('newinner')" />Find Address</button></div>
    <div class="newform">
    <div class="newinner">
    <form>
    <div class="formtitle"><b>To request this brochure please fill out the form below.</b></div>
    <div class="ntitle"><b>First Name*:</b><br><select>
      <option value="title">Title</option>
      <option value="mr">Mr</option>
      <option value="mrs">Mrs</option>
      <option value="miss">Miss</option>
      <option value="ms">Ms</option>
    </select>
    </div>
    <div class="fname">
    <input type="firstname" name="fname" /></div>
    <div class="lname"><b>Last Name:*</b><input type="lastname" name="lname" /></div>
    </form>
    </div>
    </div>
查找地址
要索取本手册,请填写下表。
名字*:
标题 先生 夫人 错过 太太 姓氏:*
newinner被定义为一个类,您正在搜索id等于newinner的节点。。。 此外,您没有在发布的代码中的任何地方调用ShowDiv()

--更新--

从我最初的回答开始,我看到您已经更新了这个问题,但是代码中仍然存在一些问题

document.getElementsByClassName
返回给定类的所有元素;这是一个类似数组的结构。所以通常你必须在每个元素上循环;但是在本例中,您可以使用
id
,然后使用
document.getElementById
方法, 找到时只返回所选元素,否则返回
null

因此,您可以将
showDiv
重写为:

function ShowDiv (id) {
    document.getElementById(id).style.display = "block";
}

<button type="button" name="faddress" onClick="showDiv('newinner')">
    Find Address
</button>

<div id="newinner">
    ...
</div>
函数ShowDiv(id){
document.getElementById(id).style.display=“block”;
}
查找地址
...
还要记住,使用
onClick
属性有利于快速原型或演示;
如果要在生产中使用此代码,我建议您改为使用。

如果要使用document.getElementById()方法,则不要在页面中的任何位置调用该函数,然后给DIV一个ID


只需将第2行从
更改为

我看不到您在任何地方调用
ShowDiv
,并且没有ID为
newinner
的元素。可以设置元素的样式属性而不是CSS选择器(
.newinner
),您可以这样做,但正如链接所述,有更好的方法。您也没有在示例中调用该函数。抱歉,找不到该位Address@user1839483:那么请输入并添加相关信息。注释中的代码在大多数情况下都是可怕的,在注释中分发的信息也没有用处。@FelixKling抱歉,我不熟悉这一点:-)