代码之家  ›  专栏  ›  技术社区  ›  abu abu

使用jQuery在HTML元素后检查为空

  •  1
  • abu abu  · 技术社区  · 3 年前

    我正在使用 .after()

    $("#contactNum").after(
        '<span class="invalid-feedback">Please fill up this Field.</span>'
    );
    

    我想看看这个 span 存在或不存在以避免添加此项 跨度 两次。

    1 回复  |  直到 3 年前
        1
  •  1
  •   Swati lk_ayyagari    3 年前

    您可以检查 contactNum 没有特定的类别,即 invalid-feedback

    演示代码 :

    //using class
    if (!$("#contactNum").next().hasClass("invalid-feedback")) {
      $("#contactNum").after(
        '<span class="invalid-feedback">Please fill up this Field.</span>'
      );
    }
    /*
    //using text
    if ($("#contactNum").next().text().trim() != "Please fill up this Field.".trim()) {
      $("#contactNum").after(
        '<span class="invalid-feedback">Please fill up this Field.</span>'
      );
    }*/
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input type="text" id="contactNum">
    <span class="invalid-feedback">Please fill up this Field.</span>
        2
  •  0
  •   Bhautik    3 年前

    您只需使用 next length 如果已经有跨度,你可以只填写文本,否则你可以 insertAfter 检查以下代码。

    if( !$('#contactNum').next('span.invalid-feedback').length ){
        $('<span class="invalid-feedback">Please fill up this Field.</span>').insertAfter($('#contactNum'));
    }else{
        $('#contactNum').next('span.invalid-feedback').text('Please fill up this Field.');
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input type="text" id="contactNum">