HTML代码如下:
万年历
1月活动
要去拜年事业有成
CSS代码:
.container{
width: 190px;
margin: 0 auto;
position: relative;
}
.wrapper{
display: table;
border-collapse: separate;
border-spacing: 10px 10px;
background: #ccc;
margin:0 auto;
}
.row{
display: table-row;
}
.row p,
.row button{
display: table-cell;
height:50px;
width: 50px;
}
.row button{
font-size: 25px;
background: #333;
color: #fff;
border:none;
}
.row button:hover{
cursor: pointer;
background: #23aa11;
}
.content{
position: absolute;
left: 0;
top: 250px;
width: 190px;
display: block;
background: #ccc;
}
.content h3,
.content p{
margin: 10px;
}
.content h3{
font:bold 16px/1 '黑体';
}
.content p{
font-size: 14px;
}
报错截图:
报错信息:
Uncaught TypeError: oContainer.getElementsByClassName is not a function at window.onload
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
document.getElementsByClassName返回的是HTMLCollection不是DOM对象,你需要遍历。
你这里oContainer是一个DOM数组。
getElementsByClassName
getElementsByClassName()返回的是一个集合,而不是一个元素——注意到方法中的Elements是加了s的。然后你的这个逻辑我并不是很理解
这里我只能假设你是写错了,你的本意是要找
content,那么正确的代码是上面这段代码从语法上来说是没啥大问题了,逻辑上也走得通。但是有一些假设。
在写程序的时候请注意区分
id和class的用法。id用于精确表示一个节点。class用于表示一类具有相似作用的节点。所以在通过id和class来查找节点的时候,也是有区别的。在你这个 HTML 中似乎更适合用id而不是class。同时注意
document.getElementById()是直接找到节点而不是一个节点集合。getElementsByClassName()是document的方法。而
oContainer是一个dom节点建议再看看基础