Javascript 占位符宽度函数抛出未捕获的TypeError:无法读取属性';长度';空的

Javascript 占位符宽度函数抛出未捕获的TypeError:无法读取属性';长度';空的,javascript,html,css,Javascript,Html,Css,我是Js的新手,无法确定错误的来源: 我正在使用一个函数来自动调整输入字段的大小,使之与占位符的大小一致;代码在afaik下运行良好,但开发工具告诉我“无法读取null的属性'length'” 我有点迷糊了:我试图更改数据类型(JSON),但没有成功,检查是否有与元素ID相关的内容;我已经看了一些类似的问题,但没能确定肇事者 var input=document.querySelectorAll('input'); 对于(i=0;i单选按钮没有占位符,因此getAttribute(“占位符”)

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

我正在使用一个函数来自动调整输入字段的大小,使之与占位符的大小一致;代码在afaik下运行良好,但开发工具告诉我“无法读取null的属性'length'”

我有点迷糊了:我试图更改数据类型(JSON),但没有成功,检查是否有与元素ID相关的内容;我已经看了一些类似的问题,但没能确定肇事者

var input=document.querySelectorAll('input');

对于(i=0;i
单选按钮
没有占位符,因此
getAttribute(“占位符”)
返回
null


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

谢谢您提供的信息数学,我按您所说的替换了选择器,错误消失了。太棒了。再次感谢;)
var input = document.querySelectorAll('input');
for(i=0; i<input.length; i++){
   input[i].setAttribute('size',input[i].getAttribute('placeholder').length);
}