2012-10-10 59 views
1

我想單擊名爲Envoi的按鈕,但我找不到使用getElementById("Envoi").click來引用它的ID。 有沒有其他方法可以做到這一點?如何在沒有ID的情況下單擊按鈕

網站名稱爲:http://famille-frappier.fr/ ,按鈕名稱爲Envoi

和相關的HTML是:

<input type="button" value="Envoi">

+5

什麼讓你不僅僅是添加一個ID到按鈕?在我看來,這將是完成你無論如何做的最正確的方式。 – Mike

+0

對於一個非常粗略的例子,您可以瀏覽DOM,如'document.children [5] .children [2]'。 JQuery使它更容易。順便說一句,它沒有命名爲「Envoi」它具有「Envoi」的價值,因爲命名你必須使用'name'屬性。 – pedrofurla

回答

-1

您可以使用document.getElementsByName()檢索按鈕。

var button = document.getElementsByName('Envoi'); 
button.click(); 

Here's an example

+0

該元素未命名。如果不更改標記,將無法正常工作。 :) – enhzflep

+1

'Envoi'是價值,而不是名稱。 – rid

3

如果你可以使用jQuery你可以

$('input[value="Envoi"]').click(); 
-1

最簡單的方式在我看來是使用JQuery做。

$('[name="Envoi"]').click(); 

只要下載JQuery.js並將其包含在頁面中,上面的語句就可以工作。欲瞭解更多信息視圖http://api.jquery.com

1

要獲取元素,你可以使用document.getElementsByTagName()通過他們把所有的元素,然後循環找到你感興趣的一個:

var elements = document.getElementsByTagName("input"); 
var envoi; 
for (var i in elements) { 
    if (elements[i].getAttribute && elements[i].getAttribute("value") == "Envoi") { 
     envoi = elements[i]; 
     break; 
    } 
} 
0
var els = document.getElementsByTagName("input"); 
for(var i=0; i<els.length; i++){ 
    if(els[i].value=='Envoi') //do something with els[i], thats your button 
} 
3

隨着純Javascript:

我看到您的網站,您不使用jQuery,所以我的解決方案也不使用它。

你的情況,你有你的按鈕,沒有任何標識或名稱,你纔有價值,所以你需要使用:

document.querySelector('input[value="Envoi"]').click() 
0

好吧,如果你鍵入到控制檯這一點,你會得到單詞Envoi顯示。

document.getElementById('nav_554').getElementsByTagName('input')[0].value 

因此,您可以使用該表達式附加一個單擊事件偵聽器。或者,當然,您可以將onclick屬性添加到按鈕本身。

此代碼鍵入到控制檯將功能附加到按鈕:

document.getElementById('nav_554').getElementsByTagName('input')[0].addEventListener('click', function(){alert("you clicked me");}, false); 

無需jQuery的 - 這個簡單的任務總矯枉過正。

相關問題