Jquery删除添加的没有id的div

时间:2016-02-04 05:47:53

标签: jquery

我有一个表单验证jquery如果输入元素的值为空,我在输入元素之前添加一个div。如果用户之后为input元素赋值,我想删除插入的div。我希望在不向div添加id的情况下实现此目的。

    if($("#psalutation").val()==''){
      $("#psalutation").before('<div><center><font color="#C40404"><b>Please enter your last name below.</b></font></center></div>');
      $("#psalutation").focus();
      return false;
    }

这是html;

<div class="col-sm-7" style="padding-left:0px;">
  <label for="name" class="col-sm-12 no-padding control-label">Your first name*</label>
    <div class="col-sm-12 no-padding">
      <input type="text" name="pfirstname" class="form-control" id="pfirstname" placeholder="">
    </div>
  </div>

提前致谢

2 个答案:

答案 0 :(得分:1)

使用prev()next()定位与当前选择器相关的上一个元素或下一个元素:

$("#psalutation").prev("div:first").remove();

$("#psalutation").next("div:first").remove();

参考:https://api.jquery.com/prev/https://api.jquery.com/next/

演示:http://jsfiddle.net/lotusgodkk/GCu2D/1073/

点击按钮删除div。

答案 1 :(得分:1)

您可以在第一次运行验证函数之前删除所有验证分区,然后再插入任何错误,此外,您不需要所有的混乱......您可以使用jQuery validation plugin,它是一个很好的表单插件验证和易于定制。

$('input, select').prev('div').remove();

if($("#psalutation").val()==''){
      $("#psalutation").before('<div><center><font color="#C40404"><b>Please enter your last name below.</b></font></center></div>');
      $("#psalutation").focus();
      return false;
    }

if($("#pfirstname").val()==''){
      $("#pfirstname").before('<div><center><font color="#C40404"><b>Please enter your last name below.</b></font></center></div>');
      $("#pfirstname").focus();
      return false;
    }
相关问题