【问题标题】:How to prevent Jquery append line more than one time如何防止Jquery追加行不止一次
【发布时间】:2017-11-15 02:35:57
【问题描述】:

我的代码正在寻找任何形式并添加一个新的令牌 ID 行。 如果我有这条线,我需要防止添加新线。

<SCRIPT LANGUAGE = "JavaScript" >
          $(document).ready(function() {
                $("form").append('<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">');<br>
            });
    </script>


请告诉我:
谢谢。

【问题讨论】:

    标签: jquery find append


    【解决方案1】:
    $(document).ready(function() {
        if(($('#tokenID').length) == 0) {
             $("form").append('<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF" />');
    
        }
    });
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    • 只需从 #tokenID 中删除 # 即可。
    • 感谢 Lovin Nagi,感谢您的支持和时间。
    【解决方案2】:

    尝试使用includes检查该值是否已准备就绪

    $("form").each(function(){
       if!($(this).html().includes("<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">")){
           $(this).append('<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">');<br>
       }
    });
    

    【讨论】:

      【解决方案3】:

      您可以搜索任何还没有令牌 ID 行的表格。

      $("form").find(
          'form:not(:Contains("
                  <input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">'
          ).append(
              '<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">'
          );
      

      这会查找不包含您要添加的行的表单字段,然后附加该行。

      【讨论】:

        猜你喜欢
        • 2012-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多