2012-10-19 38 views
3

我有這個jQuery函數,如果在選擇框中沒有設置任何選項,那麼將標記爲「可選」的span附加到標籤。如何添加一個元素與jQuery,除非它已經存在?

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();    
    } 
} 

現在,當我每次選擇新選項時,此標籤都會向標籤添加一個新的跨度。如何檢查跨度是否已經存在,並且只有在沒有跨度時才添加跨度?

感謝您的幫助......

回答

9

嘗試以下操作:

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

工程。非常感謝! – Tintin81

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();    
    } 
} 
相關問題