Javascript 使用getElementByID但不使用querySelectorAll的事件侦听器

Javascript 使用getElementByID但不使用querySelectorAll的事件侦听器,javascript,html,Javascript,Html,根据文章标题,我有以下脚本: let campolim = document.getElementById("province"); campolim.addEventListener("keyup", () => { if (campolim.value.length > 3) { campolim.value = campolim.value.slice(0, 3); } }); //---------------------------------------

根据文章标题,我有以下脚本:

let campolim = document.getElementById("province");

campolim.addEventListener("keyup", () => {
  if (campolim.value.length > 3) {
    campolim.value = campolim.value.slice(0, 3);
  }
});
//----------------------------------------------------//
let campilim = document.querySelectorAll("limitme");
for (var i = 0; i < campilim.length; i++) {
  campilim[i].addEventListener("keyup", () => {
    if (campolim[i].value.length > 3) {
      campolim[i].value = campolim[i].value.slice(0, 3);
    }
  });
}
let campolim=document.getElementById(“省”);
campolim.addEventListener(“键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键控键{
如果(campolim.value.length>3){
campolim.value=campolim.value.slice(0,3);
}
});
//----------------------------------------------------//
让campilim=document.queryselectoral(“limitme”);
对于(变量i=0;i{
if(campolim[i].value.length>3){
campolim[i].value=campolim[i].value.slice(0,3);
}
});
}
脚本应该做同样的事情(将输入字段限制为3个字符)。第一个可以正常工作,但是如果我想用limitme类捕获所有字段,那么脚本将返回找不到未知元素长度的值

为什么??我错过了什么? 这是html:

<input type="text" class="limitme form-input" id="province" name="province" value="" placeholder="provincia" required="">

<input type="text" class="limitme form-input" id="cap" name="cap" value="" placeholder="cap" required="">

<input type="submit" >


谢谢。

我想这只是campilim(campolim)中的一个输入错误

let campolim=document.getElementById(“省”);
campolim.addEventListener(“keyup”,()=>{
如果(campolim.value.length>3){
campolim.value=campolim.value.slice(0,3);
}
});
//----------------------------------------------------//
让campilim=document.queryselectoral(“.limitme”);
控制台日志(campilim)
for(设i=0;i{
if(campilim[i].value.length>3){
campilim[i].value=campilim[i].value.slice(0,3);
}
});
}

代码可以正常工作,拼写错误已修复。

u将代码的第二部分替换为

让campilim=document.queryselectoral(“.limitme”);
对于(变量i=0;i{
设元素=e.currentTarget;
如果(element.value.length>3){
element.value=element.value.slice(0,3);
}
});

}
document.queryselectoral(“limitme”)应该得到什么?ID为
limitme
的元素?
limitme
的类别?名为
limitme
的元素?你的语法不正确。也许您想要
document.querySelectorAll(.limitme”)
?所有元素都有类“limitme”。我注意到脚本甚至不能与document.getelementsbyclassname一起使用。要使用
queryselectoral()
指定类选择器,您需要在类名之前使用点
,因此
“.limitme”
不是
“limitme”
。只需键入:
campolim[I]
,而不是
campilim[I]
->投票表决。谢谢,你们都答对了……很多打字错误。我一定很生气。谢谢大家
let campolim = document.getElementById("province");

campolim.addEventListener("keyup", () => {
  if (campolim.value.length > 3) {
    campolim.value = campolim.value.slice(0, 3);
  }
});
//----------------------------------------------------//
let campilim = document.querySelectorAll(".limitme");
console.log(campilim)
for (let i = 0; i < campilim.length; i++) {
  campilim[i].addEventListener("keyup", () => {
    if (campilim[i].value.length > 3) {
      campilim[i].value = campilim[i].value.slice(0, 3);
    }
  });
}