上面我的程式碼是想要改動input的value
同樣一串
document.querySelector("body > form > div:nth-child(2) > input[type=text]:nth-child(2)").value="12355"
第一次執行的時候沒辦法抓到DOM
第二次我是去element那邊對著元素right click然後copy JSpath
貼過來再用一樣的code執行 就可以了
想請問是否因為這個頁面(w3h)上有兩個區塊
所以JS執行的時候找不到
那該怎麼寫才有辦法一次到位 能夠抓到那個元素呢?
queryselector 只會抓到最上層第一個遇到的body,所以你寫的會抓到原本的body不會抓到內嵌的body
要改成
document.querySelector("body[contenteditable='false'] > div > form > div:nth-child(2) > input[type=text]:nth-child(2)").value = "12355"
@花之舞:
如果你會用 CSS Selector 應該就會用 querySelector()
了啊?
(不過我倒是習慣順便用 querySelectorAll()
檢查。)
花之舞
第一個通常找唯一的,保證抓到最接近你找的位置的父層元素再依序往下找,或是你找的位置有唯一值也可以直接抓
@johncoc 謝謝教學 很棒的解說 學到了新知
js 可能當時可以未引用
1.嘗試window.onload
2.調整呼叫.js 或撰寫script位置