你必須要小心何時何地,你做你的JS計算
<!DOCTYPE html>
<html>
<head>
<script>
var myList = document.getElementsByTagName('h1');
console.log(myList.length)
</script>
</head>
<body>
<div class='item'>
<h1 id="Python">Python</h1>
</div>
<div class='item'>
<h1 id="C++">C++</h1>
</div>
<div class='item'>
<h1 id="PHP">PHP</h1>
</div>
</style>
</body>
</html>
會給你0,因爲JavaScript是由瀏覽器的HTML身體的任何分析之前調用。
您需要用: - 等待頁面加載
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function(){
var myList = document.getElementsByTagName('h1');
console.log(myList.length)
}
</script>
</head>
<body>
<div class='item'>
<h1 id="Python">Python</h1>
</div>
<div class='item'>
<h1 id="C++">C++</h1>
</div>
<div class='item'>
<h1 id="PHP">PHP</h1>
</div>
</style>
</body>
</html>
或頁面末尾寫此javascript:
<!DOCTYPE html>
<html>
<head>
<script>
var myList = document.getElementsByTagName('h1');
console.log(myList.length)
</script>
</head>
<body>
<div class='item'>
<h1 id="Python">Python</h1>
</div>
<div class='item'>
<h1 id="C++">C++</h1>
</div>
<div class='item'>
<h1 id="PHP">PHP</h1>
</div>
</style>
</body>
</html>
更妙的是它在年底寫與window.onload
的頁面。這將縮短訪問您的網頁的HTML部分和渲染速度會更快(這是大量的JS顯著,但在這種情況下,你應該做的文件包含)
你的代碼是有效的。 http://jsfiddle.net/gilleez/gez37k9m/ – 2014-10-30 12:29:49