有没有办法以编程方式检查javascript / jquery选择器的有效性?
就像.class
一样,但.class,
不是
以javascript或任何后端语言编程(除了通过jQuery源代码)
所以在伪代码中
def selectorErrors(selector)
// do nasty stuff to the selector
if valid?
return nil
else
return errors
end
end
答案 0 :(得分:3)
这应该验证你在jQuery上可以抛出99%的开销
function validateQuery(str) {
try {
document.querySelector(str);
return true;
}
catch(e) {
// something here to check WHY it's invalid
}
return false;
}
编辑:好的,这不会告诉你它有什么问题,但它确实(快速)检查有效性 - 至少你只需要检查为什么它无效,而不是IF:p
答案 1 :(得分:0)
existOrValid('#a')
function existOrValid(a){
if (/^[#,.]{0,1}[A-Za-z][0-9A-Za-z\-\._:]*$/.test(a)) {
alert('valid');
}
}
适用于简单类,id选择器,但需要修改嵌套查询
答案 2 :(得分:-5)
$('.a.b')
如果你想要一个交集,只需将选择器写在一起,两者之间没有空格。因此,对于具有类b和c的ID的元素,您可以编写:
$('#a.b.c')