提示有這樣的錯誤:Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
<!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>
2019-10-07
請把把html文件中的?
<script .....
</script>
移到body的最后,就可以啦?。?!?
2019-07-14
還是不行。被這個問題搞瘋了?。。。。。。。。。。。。。。。。?/p>
2018-10-16
為什么移到body就行了,我試了一下果然可以了,求解,好奇怪??!
2018-06-02
我也這樣,但是前面說的都沒解決
2018-01-26
?function $(id){
? ? //這個是把id單獨封裝
? ? return typeof id==='string'?document.getElementById('id'):id;//('id')這里封裝函數用的是參數,不要引號,后面調用時你傳入具體值才需要引號起來
? ? }
2017-06-28
這個問題解決了,跟第一行代碼有關
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”這個錯了
2017-06-28
菜鳥表示不懂
var titles=$('notice-tit').getElementsByTagName('li');
?var divs=$('notice-con').getElementsByTagName('div');
$('notice-con')為什么可以跟getElementsByTagName('div')?又為什么會報“Cannot read property 'getElementsByTagName' of null”這樣的錯,看了很多人都有說到這個問題,挺納悶,到底是用js還是jq
2017-05-07
好巧,我也是怎么解決?
2017-03-20
上面的回復都沒解決這個問題,求解決方法?
2015-10-18
我在寫的時候瀏覽器也報了同樣的錯誤,求解決方法?