如果使用* star选择器确切检查了哪个元素

时间:2016-02-02 12:40:53

标签: javascript jquery

我有几个文本框,我使用jQuery .addClass("error")赋予了属性。在提交时,我想检查是否有任何文本框具有类error,因此会弹出一条消息,告诉用户确切地弹出了哪个文本框有错误。我正在使用这个:

if ($("*").hasClass("error")  ){

}

使用*,它会检查所有文本框以查看它们是否有错误。如何获取id或任何指示哪个元素有错误?

1 个答案:

答案 0 :(得分:4)

$('*')选择器是一种非常低效的方法,因为它会逐字地返回DOM中的每个元素,这将很慢。相反,您只能检索具有input类的error元素,并循环遍历它们以获取所需的信息。试试这个:

$('#myForm').submit(function(e) {
    var $inputs = $('input.error');
    if ($inputs.length) {
        e.preventDefault(); // stop the form submission
        $inputs.each(function() {
            console.log(this.id);
            // work with the input here...
        });
    }        
});