js修改html不成功,为什么这段代码中用js修改css样式中的display属性却不成功?
getByClass() 這個方法寫的有問題,你這個方法目的是獲取className的元素數組。
var s = getByClass('li'); ? ??但是你用的是 li,是tagName
function changeshow(){
var p = getByClass('showmenu'); ? 這里用的是className
p.style.display = "";????p是數組 ? jquery對象可以用數組.css();這樣寫,你這樣寫是錯的
寫一個循環,然后賦值,并且最好不要用“”,用block就行了。
}
noneshow ?這個一樣的錯誤
這是改好的
無標題文檔*{
marign: 0;
padding: 0;
}
.box{
width: 500px;
height: 100px;
margin: 0 auto;
}
li{
width: 50px;
height: 30px;
border: solid #000 1px;
float: left;
list-style: none;
margin-right: 15px;
}
.showmenu{
border: #000 solid 1px;
width: 200px;
display: none;
}
function getByClass(cls){
var eles = [];
var elements = document.getElementsByTagName('*');
for(var i = 0; i < elements.length; i++){
if(elements[i].tagName.toLowerCase() == cls){
eles.push(elements[i]);
}
}
return eles;
}
window.onload = function(){
var s = getByClass('li');
var length = s.length;
for(var i=0; i
s[i].onmouseover = changeshow;
s[i].onmouseout = noneshow;
}
}
function changeshow(){
var p = document.getElementsByClassName('showmenu');
var length = p.length;
for(var i=0;i
p[i].style.display = "block";
}
}
function noneshow(){
var p = document.getElementsByClassName('showmenu');
var length = p.length;
for(var i=0;i
p[i].style.display = "none";
}
}
- 菜單1
- 菜單2
- 菜單3
- 菜單4
- 菜單5
鼠標經過li標簽后應該顯示的
總結
以上是生活随笔為你收集整理的js修改html不成功,为什么这段代码中用js修改css样式中的display属性却不成功?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日志框架 android,深度剖析And
- 下一篇: Html图片懒加载动画,Intersec