在使用.addClass之后,jQuery专注于div中的第一个表单字段

时间:2014-08-20 00:50:08

标签: javascript jquery twitter-bootstrap-3

我有以下示例(简化为帮助其他人),如果字段不符合基本验证要求,则会添加错误类:

  var email = $("input#email").val();
     if (email == "") {
     $("#emailblock").addClass("has-error")
  var prevent = 1;
  }

  var org = $("input#organisation").val();
  if (org == "") {
     $("#orgblock").addClass("has-error")
  var prevent = 1;
  }

// if no entry, prevent submission and highlight first field
  if (prevent == '1') {
     $(".has-error:first").focus();
  }

但是,在使用.has-error后,使用上述代码并不会关注addClass()的第一个实例。

在将has-error用于包含表单元素的.addClass之后,如何选择<div>或任何其他动态分配的类的第一个实例?

1 个答案:

答案 0 :(得分:2)

<input><select><a href>等只能focus()

$(".has-error:first").focus();更改为$(".has-error:first input").focus();

这是demo