Javascript没有检测到HTML元素

时间:2014-10-09 23:19:57

标签: javascript

好的,相信我,我有很多" 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>

1 个答案:

答案 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);
}