访问占位符属性

Accessing the placeholder attribute

本文关键字:属性 占位符 访问      更新时间:2023-09-26
    window.onload = function(){
        var inputElement = document.getElementsByTagName('input');
        console.log(inputElement);
        console.log(inputElement.hasAttribute('placeholder'));
        if(inputElement.hasAttribute('placeholder')){
            console.log('true');
        }
    }; 

我一直在window.onload上收到一个TypeError。有人可以指出这有什么问题吗,我正在尝试检查输入元素是否具有占位符属性

document.getElementsByTagName

返回数组或节点列表或任何内容,以便您需要访问其元素。您要做的是在列表中运行hasAttribute,这显然没有这样的功能。

你想要的是

var inputElement = document.getElementsByTagName('input')[0];

此外,如果没有输入元素,这将抛出一个错误,即没有0索引或其他东西

如果您确实需要收集所有输入并查找占位符,请遍历您在 inputElement 中收集的输入并检查每个输入。

我会建议这样的事情(不过,我也建议在日志中做一些事情来指示哪些输入对占位符;)测试呈阳性(:

window.onload = function() {
    var inputElements = document.getElementsByTagName('input');
    for (i = 0; i < inputElements.length; i++) {
        if (inputElements[i].hasAttribute('placeholder')) {
            console.log('true');
        }
    }
};

如果您需要访问特定的,那么您将不得不找到一种方法来唯一地识别input(例如,具有id属性(。 然后,您可以使用正在尝试的方法:

window.onload = function() {
    var inputElement = document.getElementById('some_id_value');
    if (inputElement.hasAttribute('placeholder')) {
        console.log('true');
    }
    else {
        console.log('false');
    }
};