我必须在我正在使用的事件委托方法中测试不同节点的类名:
我正在使用的测试案例是
function clickHandler(e){
var evt = e || window.event;
target = evt.target || evt.srcElement,
cls = target.className,id = target.id;
if(/\bcell\b/i.test(cls)){
//perform some action is node having classname cell is clicked
}
}
但此特定测试与类名为.cell
的节点以及.cell-validation-text
匹配。
以上测试对这两个节点都返回true。我如何修改我的regExp,以便我的上述测试仅返回true 具有.cell 的节点, false用于.cell-validation文本 < / p>
答案 0 :(得分:3)
/\bcell(\s|$)/
\s
匹配任何空格字符
$
匹配字符串
编辑:假设您不想匹配“xxx-cell”:
/(^|\s)cell(\s|$)/
^
匹配字符串的开头
答案 1 :(得分:0)
只需使用锚点和替换运算符|
function clickHandler(e){
var evt = e || window.event,
target = evt.target || evt.srcElement,
cls = target.className,id = target.id;
if(/\bcell(\s|$)/i.test(cls)){
//perform some action is node having classname cell is clicked
}
}
但如果你做了类似
的事情会更好if(cls.split(" ").indexOf("cell") > -1){
}