我想使用Jquery
["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"]
["Code-1:123", "Code-2:456", "Code-1:789"]
数组具有要在各自div中打印的项目的信息。
我遇到了在数组中提取项目的问题。
第一个arrat有Item-1
和Item-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
答案 0 :(得分:0)
尝试
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;
答案 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
}
}