getElementById没有在Javascript中选择元素

时间:2013-04-17 11:04:31

标签: javascript events dom testing

我正在尝试创建一个基于DOM的事件来测试我的Javascript技能,有谁知道为什么这不适用于该元素?

function getButton(){
    var getButton = document.getElementById("submit");
    getButton.onclick() = function(){
         alert("it works!")
    }
}

提交是ID中元素的<input type="submit" />类型元素,所以我不明白为什么它不起作用。

3 个答案:

答案 0 :(得分:4)

()放入事件标识符中。你只是在这里分配一个属性,不要进行函数调用或类似的。

function getButton(){

  var getButton = document.getElementById("submit");

  getButton.onclick = function(){
     alert("it works!");
  }
}

答案 1 :(得分:0)

getButton.onclick = function() {
       alert("it works!");
};

答案 2 :(得分:0)

您的代码中有几个问题:

  1. 您尝试提交的元素是<submit>标记;它没有id="submit",因此尝试获取元素getElementById("submit")是行不通的。

    <submit>标记设为自己的id并按此选择,或使用getElementByTagName("submit")代替。

  2. 正如@Sirko和@Osiris所提到的那样,getButton.onclick() = function(){无法正常工作,因为你试图将.onclick()作为一个函数调用它。您要做的是为onclick的{​​{1}}属性指定一个函数:

    getButton应为getButton.onclick() = function(){