Javascript可见元素返回undefined

时间:2016-04-29 06:35:30

标签: javascript html dom

我尝试点击的HTML代码是

<button type="submit" class="flatbutton">Send</button>

var i;
var button = document.getElementsByClassName("flatbutton");
    for (i = 0; i < button.length; ++i) {
        if (button[i].type == "submit") {
            console.log(button[i].innertext);
        }
    }

由于某种原因,返回的所有内容都是未定义的。这没有意义,它应该返回&#34;发送&#34;。

我更喜欢只使用Javascript而不是JQuery

6 个答案:

答案 0 :(得分:0)

代码中的简单拼写错误,innertext应为innerText

var i;
var button = document.getElementsByClassName("flatbutton");
for (i = 0; i < button.length; ++i) {
  if (button[i].type == "submit") {
    console.log(button[i].innerText);
  }
}
<button type="submit" class="flatbutton">Send</button>

答案 1 :(得分:0)

如果想让单个类元素更好地避免循环。用这个。如果您有多个课程,请使用循环。

 <button type="submit" class="flatbutton">Send</button>
 var button = document.getElementsByClassName("flatbutton")[0].innerText;
 console.log(button);

答案 2 :(得分:0)

你可以在jQuery中这样做:

$(".flatbutton[type='submit']").each(function()
{
    console.log($(this).html());
});

或者你只是通过使用vanilla JS来使一切变得更复杂:

var btns = document.getElementsByClassName("flatbutton");
for(var i=0;i<btns.length;i++)
{
    var btn=btns[i];
    if(btns.getAttribute("type") == "submit")
    {
        console.log(btn.innerHTML);
    }
}

答案 3 :(得分:0)

而不是

的console.log(按钮[I] .innertext);

使用

的console.log(按钮[I] .textContent);

答案 4 :(得分:0)

您可以在按钮上设置数据属性并从中获取其值。 像这样。

complete

为什么不从JQUERY?  或者您可以尝试获取&#34;发送&#34;尝试.value这样的价值。

in-progress

答案 5 :(得分:-1)

innertext更改为innerText。您将获得所需的结果。