在Jquery中追加项目列表

时间:2015-04-07 22:47:30

标签: javascript jquery arrays loops for-loop

我想使用Jquery

在div id中添加以下两个数组
["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"]
["Code-1:123", "Code-2:456", "Code-1:789"]

数组具有要在各自div中打印的项目的信息。 我遇到了在数组中提取项目的问题。 第一个arrat有Item-1Item-1,应添加到ITEMDIV-1 他们的代码是Code-1和Code-2 同样的, Item-2之后的Item-1和Code-2之后的Code-1应该附加在ITEMDIV-2中,依此类推。 如何使用jquery的for循环和.append()函数附加它们。

我的代码:

for (var i = 0; i <= 100; i++) {
if($("#ITEMDIV"+i).length != 0) {
// append here
}
}

期望输出:

First Iteration:

Item-1:SOMETHING1
Item-2:SOMETHING2
Code-1:123
Code-2:456


Second Iteration:

Item-1:SOMETHING3
Code-1:789

2 个答案:

答案 0 :(得分:0)

尝试

&#13;
&#13;
var items = ["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"];
var codes = ["Code-1:123", "Code-2:456", "Code-1:789"];

var arr = items.concat(codes);

$.each(arr, function(key, val) {
  $("div[id^=ITEMDIV]").each(function(i, el) {
    if (new RegExp(el.id.replace(/ITEMDIV/, "")).test(val)) {
      $(el).append(val + "<br />")
    };
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>

<div id="ITEMDIV-1"></div>
<br />
<div id="ITEMDIV-2"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

看起来你没有正确理解阵列,而且你想要做的事情并不是很清楚。

如果您尝试匹配ITEMDIV-1然后追加,这将永远不会发生,因为您搜索的第一项是ITEMDIV0,然后是ITEMDIV1等

var items = ["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"];
var codes = ["Code-1:123", "Code-2:456", "Code-1:789"];

for (var i = 0; i <= 100; i++) {
if($("#ITEMDIV-"+i).length != 0) {
// append here
}
}

现在将匹配ITEMDIV-0,ITEMDIV-1,ITEMDIV-2等(如果存在)。

编辑:如果需要init为1,则在1处启动for循环并使用和数组索引

var arrayIndex;
for (var i = 1; i <= 100; i++) {
if($("#ITEMDIV-"+i).length != 0) {
arrayIndex=i-1;
// append here
}
}