2016-04-29 82 views
-2

,我試圖點擊HTML代碼的Javascript可見元素返回undefined

<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

在你的代碼簡單的拼寫錯誤,innertextinnerText

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

變化innertextinnerText。你會得到所需的結果。

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(button [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); 
     } 
     }