我想檢查多個單選按鈕組的第一個元素。檢查所有沒有Jquery的單選按鈕
我使用Firebug,這就是爲什麼我不想要的,是的,我知道有firequery,但像他們這樣做是在舊時代:)
任何幫助yould是巨大的,必須有一個辦法,thx提前。
我想檢查多個單選按鈕組的第一個元素。檢查所有沒有Jquery的單選按鈕
我使用Firebug,這就是爲什麼我不想要的,是的,我知道有firequery,但像他們這樣做是在舊時代:)
任何幫助yould是巨大的,必須有一個辦法,thx提前。
循環向後上方document.getElementsByTagName('input')
並設置checked
到true
如果type
等於"radio"
。
如果您嘗試檢查同一組中的多個按鈕,則最後一個按鈕將保持不變。
因此,向後循環將最終檢查每個組中的第一個選項。
更新
感覺有點傻在這裏,你說你使用Firebug,因此火狐,所以我們有querySelector
可用。因此檢查在任何給定組中的第一個單選按鈕被一個班輪:
document.querySelector('input[type="radio"][name="theGroupName"]').checked = true;
querySelector
返回第一匹配元件,和因此上述將與type="radio"
並返回第一input
元件name="theGroupName"
。然後我們將其checked
設置爲true
。
想當然地認爲不會做的第一所有羣體,但它給你更多的控制權,是(再次)一個班輪 —方便Firebug的。
原來的答覆
您可以使用getElementsByTagName
得到的文檔順序的所有input
元素。然後循環遍歷它們,只處理type="radio"
並記住你最後的name
;爲每個名稱的第一個標記checked = true
。
例如爲:
var inputs = document.getElementsByTagName('input');
var lastName, index, input;
for (index = 0; index < inputs.length; ++index) {
input = inputs.item(index);
if (input.type.toLowerCase() === "radio") {
if (input.name !== lastName) {
lastName = input.name;
input.checked = true;
}
}
}
如果要限制某些容器,就可以使用element
version of getElementsByTagName
。
我該怎麼做?向後循環的聲音完全像我所需要的 – Harry 2012-02-05 19:51:23
'for(var i = arr.length - 1; i> = 0; i - )' – SLaks 2012-02-05 19:53:39
這似乎是錯誤的...然而,它非常簡單,它應該工作。 :-) – 2012-02-05 19:55:49