javascript - 为什么不使用each()创建多个标签?

标签 javascript jquery html

假设我有一些如下所示的数据

<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/

相关文章:

javascript - 如何从 jquery 对象中检索属性值?

JQuery Draggable 和带有 SVG 的 <object>?

javascript - 根据 div 值更改 CSS 值

javascript - Reset All 按钮从 JS 文字添加新实例 jQuery

javascript - HTML 选择元素不会在 THREE.js 场景顶部下拉

javascript - react 导航 goBack 不起作用

javascript - <option> append 在 jquery 中不起作用

android - 你管视频不显示在WebView上?

html - Bootstrap Offcanvas - offcanvas css 类真的存在吗?

javascript - 如何使用 JavaScript 使标题标签内的文本具有动画效果?