占位符宽度函数抛出Uncaught TypeError:无法读取null的属性“length”

时间:2015-09-15 16:04:43

标签: javascript html css

我是Js的新手,我无法确定错误的来源:

我正在使用一个函数自动将输入字段的大小调整为占位符的大小;代码工作正常 afaik 但开发工具告诉我“无法读取属性'长度'为null”

我有点迷失:我试图改变数据类型(JSON)没有成功,检查是否有与元素ID相关的内容;我已经看过一些类似的问题而未能确定罪魁祸首。

This is a fiddle of the actual code

var input = document.querySelectorAll('input');
for(i=0; i<input.length; i++){
   input[i].setAttribute('size',input[i].getAttribute('placeholder').length);
}

1 个答案:

答案 0 :(得分:1)

radio按钮没有占位符,因此getAttribute('placeholder')会返回null

您需要调整选择器以仅抓取input[type='text'](或者超级安全,input[placeholder])。