2016-04-29 2 views
-2

HTML-код, который я пытаюсь нажать этоJavascript Видимый элемент возвращения неопределенными

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

По какой-то причине, все, что возвращается не определено. Это не имеет смысла, он должен возвращать «Отправить».

Я предпочел бы только использовать Javascript и JQuery

+2

это '.innerText' – Jhecht

+0

Как вы можете предпочесть ванильные JS над JQuery, как вы когда-нибудь пробовали JQuery? – timmyRS

ответ

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>

+0

вы поместили пробел между '.innerText' – Jhecht

+0

@Jhecht: спасибо, обновлено !!! –

+0

О, мой бог ....... – Dgameman1

-1

Изменение innertext в innerText. Вы получите требуемый результат.

0

Если вы хотите, чтобы один элемент класса лучше избегал циклов. использовать это. Если у вас более одного класса, используйте циклы.

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

Вы можете сделать это в JQuery, как это:

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

Или вы просто сделать все более сложными, используя ваниль 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); 
    } 
} 
0

Вместо

консоли .log (кнопка [I] .innertext);

Применение

console.log (кнопка [I] .textContent);

0

Вы можете установить атрибут данных на кнопку и получить ее значение оттуда. вот так.

<button type="submit" class="flatbutton" data-value="send" >Send</button> 

var buttonvalue = document.getElementsByClassName("flatbutton").data.value; 

Почему бы не из JQUERY? Или вы можете попробовать получить значение «отправить», попробовав .value, как это.

 var i; 
     var button = document.getElementsByClassName("flatbutton"); 
     for (i = 0; i < button.length; ++i) { 
     if (button[i].type == "submit") { 
     console.log(button[i].value); 
     } 
     } 
Смежные вопросы