我必須在表單中獲取一些元素才能更改onchange
的的樣式。我添加了類new_cat_inputs
的元素,我想我會得到他們document.querySelectorAll()
。
我試過很多東西,但它從來沒有工作過,我終於用:JS - 理解具有類名稱的document.querySelectorAll
document.getElementsByClassName("new_cat_inputs")
這意味着我的問題已經解決,但我想明白了。
這裏是我嘗試過:
// first attempt, as I'd have used document.querySelector() which works this way
document.querySelectorAll(".new_cat_inputs");
// Logs an error which says it can't read the property "querySelectorAll" of null (body)
document.body.querySelectorAll(".new_cat_inputs");
// doesn't get the elements neither as the 1st attempt. Neither with document.body
document.querySelectorAll("label.new_cat_inputs, input.new_cat_inputs, select.new_cat_inputs");
我讀了MDN documentation經常幫助,但不是這一次。
什麼是的整個文檔由功能document.querySelectorAll()
中選擇多個DOM元素通過類的正確方法是什麼?
在你的榜樣,document.body的是'null',所以也許沒有加載你的DOM,你嘗試把你的代碼,這個事件監聽器裏:'窗口.addEventListener('DOMContentLoaded',function(){ //您的代碼 })' ? –
@boehm_s你是對的,'window.onload'不夠用 – AymDev
但仍然...爲什麼'document.getElementsByClassName()'工作,而不是'document.querySelectorAll()'? @boehm_s – AymDev