Honghong1223
2015-07-29 10:25
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tab切换</title>
<link type="text/css" rel="stylesheet" href="style.css">
<script src="jquery-2.1.1.js" type="text/javascript"></script>
<script type="text/javascript">
function $(id){
//这个是把id单独封装
return typeof id==='string'?document.getElementById('id'):id;
}
window.onload=function(){
//获取鼠标滑过或点击的标签和要切换内容的元素
var titles=$('notice-tit').getElementsByTagName('li');
var divs=$('notice-con').getElementsByTagName('div');
alert(titles.length);
}
</script>
</head>
<body>
<div id="notice">
<div id="notice-tit" >
<ul>
<li><a href="#">公告</a></li>
<li><a href="#">规则</a></li>
<li><a href="#">论坛</a></li>
<li><a href="#">安全</a></li>
<li><a href="#">公益</a></li>
</ul>
</div>
<div id="notice-con">
<div style="display:none;">
<ul>
<li><a href="#">张勇:要玩快乐足球</a></li>
<li><a href="#">阿里2000万驰援灾区!</a></li>
<li><a href="#">旅游宝让你边玩边赚钱</a></li>
<li><a href="#">多行跟进阿里信用贷款</a></li>
</ul>
</div><!--公告end-->
<div style="display:none;">
<ul>
<li>
<span>[<a href="#">通知</a>]</span>
<a href="#">要玩快乐足球</a>
</li>
<li>
<span>[<a href="#">通知</a>]</span>
<a href="#">阿里2000万驰援灾区!</a>
</li>
<li>
<span>[<a href="#">通知</a>]</span>
<a href="#">旅游宝让你边玩边赚钱</a>
</li>
<li>
<span>[<a href="#">通知</a>]</span>
<a href="#">多行跟进阿里信用贷款</a>
</li>
</ul>
</div><!--规则end-->
<div style="display:none;">
<ul>
<li>
<span>[<a href="#">聚焦</a>]</span>
<a href="#">要玩快乐足球</a>
</li>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">阿里2000万驰援灾区!</a>
</li>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">旅游宝让你边玩边赚钱</a>
</li>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">多行跟进阿里信用贷款</a>
</li>
</ul>
</div><!--论坛end-->
<div style="display:none;">
<ul>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">要玩快乐足球</a>
</li>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">阿里2000万驰援灾区!</a>
</li>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">旅游宝让你边玩边赚钱</a>
</li>
<li>
<span>[<a href="#">张勇</a>]</span>
<a href="#">多行跟进阿里信用贷款</a>
</li>
</ul>
</div><!--安全end-->
<div style="display:block;">
<ul>
<li><a href="#">小红要玩快乐足球</a></li>
<li><a href="#">阿里2000万驰援灾区!</a></li>
<li><a href="#">旅游宝让你边玩边赚钱</a></li>
<li><a href="#">爱心品牌联合征集</a></li>
</ul>
</div><!--公益end-->
</div>
</div>
</body>
</html>
请把把html文件中的
<script .....
</script>
移到body的最后,就可以啦!!!?
还是不行。被这个问题搞疯了!!!!!!!!!!!!!!!!!
为什么移到body就行了,我试了一下果然可以了,求解,好奇怪!!
我也这样,但是前面说的都没解决
function $(id){
//这个是把id单独封装
return typeof id==='string'?document.getElementById('id'):id;//('id')这里封装函数用的是参数,不要引号,后面调用时你传入具体值才需要引号起来
}
这个问题解决了,跟第一行代码有关
function $(id){
return typeof id==="string"?document.getElementById(id):id;
}
这句代码中的$其实代表的是函数名,所以$("tab-tit").getElementsByTagName("li"),的意思其实是获取了id为tab-tit下面的所有li,要注意html中有没定义这个id,确定有的话就不会报“Cannot read property 'getElementsByTagName' of null”这个错了
菜鸟表示不懂
var titles=$('notice-tit').getElementsByTagName('li');
var divs=$('notice-con').getElementsByTagName('div');
$('notice-con')为什么可以跟getElementsByTagName('div')?又为什么会报“Cannot read property 'getElementsByTagName' of null”这样的错,看了很多人都有说到这个问题,挺纳闷,到底是用js还是jq
好巧,我也是怎么解决?
上面的回复都没解决这个问题,求解决方法?
我在写的时候浏览器也报了同样的错误,求解决方法?
这样写的话,应该是 document.getElementsByTagName("div"),而不是通过jQuery吧
哦,那我想问下老师为什么可以这样写呢?
Tab选项卡切换效果
65465 学习 · 581 问题
相似问题