为什么我不能使用点符号,而设置' maxlength '属性为'输入'

Why can I not use dot notation while setting `maxlength` attribute to an `input`?

本文关键字:maxlength 属性 输入 设置 不能 符号 为什么      更新时间:2023-09-26

我正在使用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);