我收到错误:Uncaught TypeError: document.querySelector(...) is null in the following code

问题描述

document.querySelector('button[type="submit"]').addEventListener('click',() => {
    const inputTags = Array.from(document.querySelectorAll('input'));
    const textArea = document.querySelector('textarea');

    inputTags.splice(inputTags.length,textArea);


    let output = "";

    inputTags.forEach((input) => {
        if(input.type == "checkBox" && input.checked == true ) {
            output += input.nextElementSibling.textContent; 
            output += input.checked; 
            output += "\n"; 
        } else if(input.type == "radio" && input.checked == true) {
            if(input.nextElementSibling.textContent == "I have money and can pay for this") {
                output += input.nextElementSibling.textContent.toLowerCase();
                output += "\n"; 
            }
        } else {
            output += input.nextElementSibling.textContent; 
            output += input.value;
        }
    })

    alert(output);
})

解决方法

这将返回 null

document.querySelector('textarea');

如果您的 html 正文中没有 <textarea />

<textarea id="example" name="exampleTextArea" rows="4" cols="50">Sample Text</textarea>