带有正则表达式的Javascript选择器

时间:2014-11-19 00:10:16

标签: javascript regex

我想为2个按钮添加一个事件监听器。他们的ids是:

authCreateAcctConfirmNoBtn
authCreateAcctConfirmYesBtn

我如何做以下事情,我想我很接近:

authCreateAcctConfirm(No|Yes)Btn.addEventListener('blur', function() {...

我不知道如何告诉浏览器要附加的对象是正则表达式吗?

1 个答案:

答案 0 :(得分:1)

您需要先选择元素。这是通过document.querySelector完成的。

我会避免疯狂的正则表达式魔法并选择直截了当的方式。最简单的解决方案如下:

document.querySelector("#authCreateAcctConfirmYesBtn").addEventListener("blur",func);
document.querySelector("#authCreateAcctConfirmNoBtn").addEventListener("blur",func);

function func(){
   /* stuff here */
}

要同时选择两者,您可以使用querySelectorAll并使用此选择器:

var elements = document.querySelectorAll("#authCreateAcctConfirmYesBtn, 
                                          #authCreateAcctConfirmNoBtn");

现在,您必须使用简单的NodeList循环或借用的Array方法迭代返回的for结果集:

Array.prototype.forEach.call(elements,func);

在这里,您将把元素作为第一个参数移交给func。