2017-08-28 88 views
1

當的教程來看,我讀這段代碼:如何添加元素而不指定它是什麼類型的元素?

if (response.messages instanceof Object) { 
    $.each(response.messages, function(index, value) { 
    var id = $("#" + index); 
    id 
     .closest('.form-group') 
     .after(value); 
    }); 
}); 

所以,它的形式每個輸入元素後增加了一個消息。但我不明白如何添加一個元素而不指定它是什麼類型的元素,這個元素沒有任何標籤可以添加。

+1

它可能不是一個元素。它可能只是純文本。你能提供一個完整的工作例子嗎? –

+0

它有一個ID,所以我認爲它是一個元素 – annie

+0

'.after()'從字符串'value'創建元素。 'value'可以是明文或html標記,jquery不關心這個。 –

回答

0

response.messages被迭代,並且該數組中的每個項都被傳遞給接受HTML字符串的jQuery .after

index參數將是該元素數組中的索引。

所以,如果response.messages['<p>test</p>'];會有一個迭代,其中<p>test</p>追加後$('#0').closest('.form-group');

0

看一看文檔瀏覽:http://api.jquery.com/after/

到其他內容添加方法,如.prepend(類似)和.before(),.after()也支持作爲輸入傳入多個參數。支持的輸入包括DOM元素,jQuery對象,HTML字符串和DOM元素數組。

相關問題