验证css选择器

时间:2015-07-26 13:56:42

标签: javascript jquery validation jquery-selectors css-selectors

有没有办法以编程方式检查javascript / jquery选择器的有效性?

就像.class一样,但.class,不是

以javascript或任何后端语言编程(除了通过jQuery源代码)

所以在伪代码中

 def selectorErrors(selector)

     // do nasty stuff to the selector
     if valid?
      return nil
    else
      return errors
    end
end

3 个答案:

答案 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')