除非它已经存在,如何用jQuery追加一个元素?

时间:2012-10-19 19:34:04

标签: jquery

我有这个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();            
  } 
}

现在,每次选择新选项时,都会为标签添加新范围。如何检查跨度是否已存在,如果没有跨度,则仅添加跨度?

感谢您的帮助......

2 个答案:

答案 0 :(得分:9)

尝试以下方法:

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

答案 1 :(得分:0)

如果您在代码

之后的标签使用中有多个范围
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();            
  } 
}