看板 Ajax 關於我們 聯絡資訊
我用autofill和tampermonkey這兩個chrome的插件 在裡面寫javascript 其中code如下 document.getElementsByClassName("plus")[0].click(); 當我用console直接打這行 是有反應的 button有按下去 但當我把這行寫在插件內 卻有error且button無反應 用console.log印出來都是 undefinded (Cannot read property 'click' of undefined) 兩個插件都是一樣的結果 如果改寫成 .item(0).click(); 印出來則是會null 如果只印 document.getElementsByClassName("plus") 是正常的 HTMLCollection[....] 網頁本身是用angular 不知道是否有影響 換什麼方法寫能解決問題 或是套件或網頁本身不支援? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.229.81 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1525629544.A.58C.html
jherk: plus元素是動態新增的嗎?是的話你綁定事件也要在元素載入05/07 02:54
jherk: 之後再動態新增05/07 02:54
不是喔 plus已經存在 單純印 document.getElementsByClassName("plus") 不指定第幾個是可以的 只要指定[0] 就變成undefined ※ 編輯: tk930732 (111.250.229.81), 05/07/2018 03:51:13
icydream: 檢視一下console裡的HTMLCollection是否有element05/07 08:51
有喔,所有的plus都在 ※ 編輯: tk930732 (111.250.229.81), 05/07/2018 12:18:07
Kenqr: 用angular的話應該是動態新增的 05/07 13:52
Kenqr: 試試setTimeout再click? 05/07 13:52
喔喔成功了 原來angular是動態新增 沒玩過真的不太了解 感謝以上各位大大 ※ 編輯: tk930732 (111.250.229.81), 05/07/2018 16:39:51