带正则表达式的Javascript选择器
我想在2个按钮中添加一个事件侦听器。他们的身份证是:带正则表达式的Javascript选择器,javascript,regex,Javascript,Regex,我想在2个按钮中添加一个事件侦听器。他们的身份证是: authCreateAcctConfirmNoBtn authCreateAcctConfirmYesBtn 我想我应该如何做到以下几点: authCreateAcctConfirm(No|Yes)Btn.addEventListener('blur', function() {... 我不知道如何告诉浏览器要附加到的对象是正则表达式?您需要先选择元素。这是通过 我会避免疯狂的Regex魔术,选择直截了当的方式。最简单的解决方案如下所示:
authCreateAcctConfirmNoBtn
authCreateAcctConfirmYesBtn
我想我应该如何做到以下几点:
authCreateAcctConfirm(No|Yes)Btn.addEventListener('blur', function() {...
我不知道如何告诉浏览器要附加到的对象是正则表达式?您需要先选择元素。这是通过 我会避免疯狂的Regex魔术,选择直截了当的方式。最简单的解决方案如下所示:
document.querySelector("#authCreateAcctConfirmYesBtn").addEventListener("blur",func);
document.querySelector("#authCreateAcctConfirmNoBtn").addEventListener("blur",func);
function func(){
/* stuff here */
}
要同时选择两者,可以使用querySelectorAll
并使用此选择器:
var elements = document.querySelectorAll("#authCreateAcctConfirmYesBtn,
#authCreateAcctConfirmNoBtn");
现在,您必须使用直接的for
循环或借用的数组方法迭代返回的NodeList
resultset:
Array.prototype.forEach.call(elements,func);
在这里,您可以将元素作为func中的第一个参数移交。您可以将click事件添加到父元素中,在该事件中,使用/theID/.test(e.target.id)过滤掉其他元素。既然有两个按钮,为什么不只使用
document.queryselectoral(#authCreateAcctConfirmYesBtn,#authCreateAcctConfirmNoBtn”)代码>?@nhahdh你当然是绝对正确的,我真的不知道为什么我会这样做;)不知怎的,我想,本地querySelector不支持这一点——我责备时间;)