假设我有一些如下所示的数据
<data>
<location>
<type>main</type>
</location>
<location>
<type>mailing</type>
</location>
</data>
然后是一些如下所示的代码
$('location',data).each(function(){
var x='<table><tr><td>Type:</td><td>'+$(data).find('type').text()+'</td></tr></table>';
$('#output').html(x);
});
我运行这个得到的结果是
类型:主邮件
我不明白为什么它不执行以下操作,因为对于每个位置元素,它应该再次运行代码,对吗?
类型:主
类型:邮寄
最佳答案
您应该使用 append()
而不是 html()
,并且您应该使用当前在 each()
中处理的项目。
var data = "<data><location><type>main</type></location><location><type>mailing</type></location></data>";
$('location', data).each(function(index, item) {
var x = '<table><tr><td>Type:</td><td>' + $(item).find('type').text() + '</td></tr></table>';
$('#output').append(x);
});
这是一个工作 demo .
关于javascript - 为什么不使用each()创建多个标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366200/