为什么在将 `maxlength` 属性设置为 `input` 时不能使用点符号?
Why can I not use dot notation while setting `maxlength` attribute to an `input`?
我正在使用 Firefox,我想将动态创建的 input
添加到文档中。我使用点符号来设置属性。
var input = document.createElement("input");
input.placeholder = "Working";
input.maxlength = 4;
document.getElementById("add_here").appendChild(input)
但是,我遇到了一个奇怪的问题。
placeholder
属性已正确添加,但未设置 maxlength
。
我做了一个 JSFiddle 来证明它:https://jsfiddle.net/phc8fxba/
我找到的唯一解决方法是使用 .setAttribute(maxlength, 4)
但这很奇怪。
为什么点符号在这里不起作用?
你打错了,应该是:
input.maxLength = 4;
属性 被命名为 maxLength
,而不是 maxlength
:
input.maxLength = 4;
HTML 属性不区分大小写,但 JavaScript 属性区分大小写。
改成input.maxLength = 4;
。您的命令不起作用,因为 javascript 支持驼峰式大小写。
您需要使用setAttribute 函数来设置maxlength 和placeholder 等。点符号直接访问属性。使用 getter 或 setter 函数更好。
var input = document.createElement("input");
input.setAttribute('placeholder', 'Working');
input.setAttribute('maxLength', 4);
我正在使用 Firefox,我想将动态创建的 input
添加到文档中。我使用点符号来设置属性。
var input = document.createElement("input");
input.placeholder = "Working";
input.maxlength = 4;
document.getElementById("add_here").appendChild(input)
但是,我遇到了一个奇怪的问题。
placeholder
属性已正确添加,但未设置 maxlength
。
我做了一个 JSFiddle 来证明它:https://jsfiddle.net/phc8fxba/
我找到的唯一解决方法是使用 .setAttribute(maxlength, 4)
但这很奇怪。
为什么点符号在这里不起作用?
你打错了,应该是:
input.maxLength = 4;
属性 被命名为 maxLength
,而不是 maxlength
:
input.maxLength = 4;
HTML 属性不区分大小写,但 JavaScript 属性区分大小写。
改成input.maxLength = 4;
。您的命令不起作用,因为 javascript 支持驼峰式大小写。
您需要使用setAttribute 函数来设置maxlength 和placeholder 等。点符号直接访问属性。使用 getter 或 setter 函数更好。
var input = document.createElement("input");
input.setAttribute('placeholder', 'Working');
input.setAttribute('maxLength', 4);