访问占位符属性

时间:2015-02-09 20:45:18

标签: javascript

    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。有人指出这是错误的,我试图检查输入元素是否具有占位符属性

2 个答案:

答案 0 :(得分:0)

document.getElementsByTagName

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

你想要的是

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

如果没有输入元素,这将抛出没有0索引或其他内容的错误

答案 1 :(得分:0)

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

我建议这样的事情(不过,我还建议在日志中指出哪些输入对占位符测试为正;)):( / p>

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');
    }
};