[問題] 直接取到checkbox array而非input tag …

看板Ajax作者 (◢曉筱◤)時間14年前 (2011/05/26 19:04), 編輯推噓4(409)
留言13則, 4人參與, 最新討論串1/1
我現在寫了一段 JavaScript  作用是全選當頁的 checkbox 以下附上我目前的程式碼 function checkall() { var chb = document.getElementsByTagName('input'); for ( var i in chb ) { if ( chb[i].type == 'checkbox' ) { chb[i].checked = true; } } } 這樣寫是可以 但是總覺得有辦法不要用到那個 if 感覺那個 if 很多餘啊.... ((思 -- 第一次用這種方式上色 上得好累 |||"orz 不知道會不會造成大家不習慣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.198.97

05/26 19:07, , 1F
補充:它只有type屬性 沒有ID也沒有name.... |||"orz
05/26 19:07, 1F

05/26 19:12, , 2F
不用 if 怎麼知道是 checkbox,除非用 jQuery $(":checkbox")
05/26 19:12, 2F

05/26 19:18, , 3F
因為之前看到有人把del寫成下面這個樣子 所以才想到會不
05/26 19:18, 3F

05/26 19:19, , 4F
會有其它類似的方法可以一次解決掉....
05/26 19:19, 4F

05/26 19:19, , 5F
del("//table[@id='resources']/tbody/tr[2]/td[4]")
05/26 19:19, 5F

05/27 14:41, , 6F
05/27 14:41, 6F

05/27 14:42, , 7F
另外你說的模式是使用 xpath 的概念
05/27 14:42, 7F
話說這例子還是有用到class耶 我指的狀況是只有type屬性 @@ 而且發現它有個小BUG  如果我先勾選了第一組的第二項 再去點第一組的CheckAll→UncheckAll時 第二項似乎就不被認定在群組內? 同樣的 如果我點CheckAll→取消勾選第二項→UncheckAll→CheckAll 第二項也不會再被選起來.... 囧 ※ 編輯: pthuang 來自: 111.251.198.97 (05/27 18:45)

05/27 23:11, , 8F
好神奇 XDDDD
05/27 23:11, 8F

05/31 22:22, , 9F
那個Bug因為要用prop來改較正確,attr算是改初始值
05/31 22:22, 9F

05/31 22:23, , 10F
不過1.6.1順從以往習慣修正了 http://goo.gl/bkxa1
05/31 22:23, 10F

05/31 22:26, , 11F
你可以試試Edge版本就可以了。以前用attr算誤用
05/31 22:26, 11F

05/31 22:34, , 12F
講清楚一點,1.6把HTML attribute和DOM property分開了
05/31 22:34, 12F

06/01 10:54, , 13F
峔銗L版本的好像比較正常
06/01 10:54, 13F
文章代碼(AID): #1DtZEhK3 (Ajax)
文章代碼(AID): #1DtZEhK3 (Ajax)