好的,相信我,我有很多" p"我的HTML文档上的标签。这是我的Javascript代码:
var elements = document.getElementsByTagName('p');
var i;
window.onload = clicker();
function clicker() {
alert(elements.length);
for(i=0;i<elements.length;i++) {
alert('looping');
elements[i].onClick = function() {
this.style.color = '#33CC33';
}
}
setInterval(clicker, 0);
}
注意我的第一个警告声明。它警告&#34; 0&#34;对我来说,没有任何意义。我的问题是没有一个&#34; p&#34;标签存储在元素变量中,因此我的for循环不会运行。 HTML中充满了大量的PHP,但这里有一个最好的剪辑,以向您证明我确实有一个&#34; p&#34;标记:
<!DOCTYPE html>
<head>
<title>Gwiddle - FTP</title>
<link rel='stylesheet' type='text/css' href='stylesheet.css' />
<script type='text/javascript' src='script.js'></script>
</head>
<body>
<div id='banner'><p>Gwiddle FTP</p></div>
答案 0 :(得分:2)
您正在尝试在加载DOM之前访问它。
尝试这样做:var elements = document.getElementsByTagName('p');
在clicker()
函数中:
var elements;
var i;
window.onload = clicker();
function clicker() {
elements = document.getElementsByTagName('p');
alert(elements.length);
for(i=0;i<elements.length;i++) {
alert('looping');
elements[i].onClick = function() {
this.style.color = '#33CC33';
}
}
setInterval(clicker, 0);
}