【发布时间】:2020-05-22 20:26:41
【问题描述】:
我的 HTML 文档的表单标签内有一个输入字段,它有一个 id (wow) 并有一个类检测。我试图添加一个(成功)类,如果用户的输入值与所需的模式匹配,它将把输入字段的颜色变成绿色。我已经通过 queryselector 这样的方法选择了输入标签 --> const addclass = document.querySelector('.detect'); 但是当用户在输入字段中输入一个值时,我得到一个错误(未捕获的类型错误无法读取 null 的属性集属性。)好东西是当我通过 id 方法使用document.getelement 时它运行良好。不知道为什么我使用查询选择器方法时显示未捕获的类型错误。
这是代码:
const select = document.querySelector('.sinup');
select.addEventListener('keyup', function(element) {
const value = select.wow.value;
const pattern = /^[a-z0-9]{6,10}$/;
const addclass = document.querySelector('.detect');
if (pattern.test(value)) {
addclass.setAttribute('class', 'success');
} else {
addclass.setAttribute('class', 'error');
}
})
<form action="" class="sinup">
<input class="detect" type="text" name="" id="wow" placeholder="username"><br>
<input class="submit" type="submit">
<div class=" change"></div>
</form>
【问题讨论】:
-
哈,因为你换了班上的人。您正在从类中删除
detect值。第一次运行后找不到
标签: javascript html css dom-events