2017-08-28 79 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元素数组。

相关问题