【问题标题】:How to append an element with jQuery unless it exists already?除非它已经存在,否则如何使用 jQuery 附加元素?
【发布时间】:2012-10-20 03:38:19
【问题描述】:

如果选择框中没有设置选项,我有这个 jQuery 函数,它会将标记为“可选”的span 附加到标签。

function setLabel() {
    var label=$('label[for=person_address]');
    if ($('select#person_organisation_id').val().length != 0) {
      label.append(' <span>— optional</span>');     
    } else {
  label.children().remove();            
  } 
}

现在,每次我选择一个新选项时,这都会为标签添加一个新跨度。如何检查跨度是否已经存在,如果不存在则仅添加跨度?

感谢您的帮助...

【问题讨论】:

    标签: jquery


    【解决方案1】:

    尝试以下方法:

    label.not(":has(span)").append(" <span>— optional</span>");
    

    【讨论】:

      【解决方案2】:

      如果标签中有多个跨度,请使用以下代码

      function setLabel() {
          var label=$('label[for=person_address]');
          if ($('select#person_organisation_id').val().length != 0) {
              if(label.find(".optional").length == 0){
                     label.append(' <span class="optional">— optional</span>'); 
              }    
          } else {
        label.children().remove();            
        } 
      }
      

      【讨论】:

        猜你喜欢
        • 2016-03-23
        • 2011-10-23
        • 1970-01-01
        • 2015-01-24
        • 1970-01-01
        • 2016-07-16
        • 2010-09-27
        • 1970-01-01
        • 2013-09-14
        相关资源
        最近更新 更多