Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带正则表达式的Javascript选择器_Javascript_Regex - Fatal编程技术网

带正则表达式的Javascript选择器

带正则表达式的Javascript选择器,javascript,regex,Javascript,Regex,我想在2个按钮中添加一个事件侦听器。他们的身份证是: authCreateAcctConfirmNoBtn authCreateAcctConfirmYesBtn 我想我应该如何做到以下几点: authCreateAcctConfirm(No|Yes)Btn.addEventListener('blur', function() {... 我不知道如何告诉浏览器要附加到的对象是正则表达式?您需要先选择元素。这是通过 我会避免疯狂的Regex魔术,选择直截了当的方式。最简单的解决方案如下所示:

我想在2个按钮中添加一个事件侦听器。他们的身份证是:

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不支持这一点——我责备时间;)