如何检查完整的Div是否有效?

时间:2015-10-20 13:40:54

标签: javascript jquery css validation

我有这样的HTML。



input:valid {
  border-bottom: 1px solid green;
}
.customInput {
  border: 0px;
  border-bottom: 1px solid red;
  width: 105px;
  outline: none;
}

<div id="personalInfo" class="info active">
  <div class="elementContainers">
    <span class="labelText ">First Name</span>
    <span class="spacing"></span>
    <input type="text" class="customInput" id="firstName" name="firstName" pattern="[A-Za-z]{2,}" required/>
  </div>
  <div class="elementContainers">
    <span class="labelText">Last Name</span>
    <span class="spacing"></span>
    <input type="text" class="customInput" id="lastName" name="lastName" pattern="[A-Za-z]{1,}" required/>
  </div>
  <div class="elementContainers">
    <span class="labelText ">Gender</span>
    <span class="spacing"></span>
    <input type="radio" name="gender" value="M">Male
    <span class="spacing"></span>
    <input type="radio" name="gender" value="F">Female
  </div>
  <div class="elementContainers">
    <span class="labelText"> Date of Birth</span>
    <span class="spacing"></span>
    <input type="text" class="customInput datepicker" name="actualDOB" required pattern=".{6,}" />
  </div>
</div>
&#13;
&#13;
&#13;

我使用HTML5模式属性来验证字段。 我可以单独检查相应字段是否有效。

像这样:

$('#firstName:valid').length

如果有效,它将返回1,除非是。

我需要检查div#personalInfo是否有效。 除了循环遍历所有元素并检查外,我该怎么检查呢?

2 个答案:

答案 0 :(得分:2)

当前使用CSS,如果没有一些javascript魔法,就无法将CSS发送到父对象。

对不起: - (

CSS只允许您更改单个节点的子元素(或兄弟元素)。

如果你想要使用jquery来检查子元素的有效性,你可以这样做:

$('#personalInfo :valid').length; // gives you the size of the valid input objects

查询#personalInfo的所有子元素是有效的。

答案 1 :(得分:1)

HTML5有built-in method checkValidity(),用于检查form元素并返回其约束验证是正还是负。大多数主要供应商都采用此方法的browser support,以便在适当时使用。

DEMO