Javascript .classList.remove()可用于元素,但不';我不能在另一个上面工作
如果电子邮件输入符合要求,我将尝试删除两个类。当我试图删除类“.visible”时,它只从“errorIcon”中删除,而不是从“errorMsg”中删除 而且,当我在两个元素上添加.classList.remove时,只会显示一个元素 你们能帮我理解发生了什么吗Javascript .classList.remove()可用于元素,但不';我不能在另一个上面工作,javascript,html,css,validation,Javascript,Html,Css,Validation,如果电子邮件输入符合要求,我将尝试删除两个类。当我试图删除类“.visible”时,它只从“errorIcon”中删除,而不是从“errorMsg”中删除 而且,当我在两个元素上添加.classList.remove时,只会显示一个元素 你们能帮我理解发生了什么吗 const emailInput=document.querySelector(“.email input”); const submitEmail=document.querySelector(“提交电子邮件”); const e
const emailInput=document.querySelector(“.email input”);
const submitEmail=document.querySelector(“提交电子邮件”);
const errorMsg=document.querySelector(“.error msg”);
const errorIcon=document.querySelector(“.error icon”);
/*添加事件侦听器*/
submitEmail.addEventListener(“单击”,验证);
功能验证(e){
e、 预防默认值();
常量正则表达式=/^([^()[\]\\,;:\s@“]+(\.[^()[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA-Z-0-9]{a-zA-Z]+$/]2;);
如果(
emailInput.value===“”||
emailInput.value==null||
!emailInput.value.match(正则表达式)
) {
errorIcon.classList.add(“可见”);
errorMsg.classList.add(“可见”);
emailInput.focus();
}else errorIcon.classList.remove(“可见”);
errorMsg.classList.remove(“可见”);
}
。错误消息{
不透明度:0;
字体系列:“Josefin Sans”,无衬线;
字体大小:400;
字号:1rem;
颜色:hsl(0,63%,53%);
垫面:1毫米;
左:1rem;
}
.错误图标{
位置:绝对位置;
最高:60%;
右:25%;
不透明度:0;
}
.可见{
不透明度:1;
}
请提供一封有效的电子邮件
若要让其他人执行这两条语句,您必须将它们用大括号括起来。看看其他的,再试一次 以下是工作代码:
const emailInput = document.querySelector(".email-input");
const submitEmail = document.querySelector(".submit-email");
const errorMsg = document.querySelector(".error-msg");
const errorIcon = document.querySelector(".error-icon");
/* Add Event Listener */
submitEmail.addEventListener("click", validate);
function validate(e) {
e.preventDefault();
const regex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (
emailInput.value === "" ||
emailInput.value == null ||
!emailInput.value.match(regex)
) {
errorIcon.classList.add("visible");
errorMsg.classList.add("visible");
emailInput.focus();
} else {
errorIcon.classList.remove("visible");
errorMsg.classList.remove("visible");
}
}
const emailInput=document.querySelector(“.email input”);
const submitEmail=document.querySelector(“提交电子邮件”);
const errorMsg=document.querySelector(“.error msg”);
const errorIcon=document.querySelector(“.error icon”);
/*添加事件侦听器*/
submitEmail.addEventListener(“单击”,验证);
功能验证(e){
e、 预防默认值();
常量正则表达式=/^([^()[\]\\,;:\s@“]+(\.[^()[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA-Z-0-9]{a-zA-Z]+$/]2;);
如果(
emailInput.value===“”||
emailInput.value==null||
!emailInput.value.match(正则表达式)
) {
errorIcon.classList.add(“可见”);
errorMsg.classList.add(“可见”);
emailInput.focus();
}否则{
errorIcon.classList.remove(“可见”);
errorMsg.classList.remove(“可见”);
}
}
有控制台错误吗?您的else缺少一个{
和}
结束标记,可能只是打字错误,与您的问题无关,但可以修复吗?@Dejan.S实际上已经修复了它!非常感谢。