2015-04-07 89 views
-1

我有以下两个阵列,我想在DIV ID追加使用Jquery追加项目列表jQuery中

["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 与他们的代码是代码1和代码2 类似地追加, 项-2和代码-1的代码2后后的项目-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

你的问题是非常不清楚,你可以在HTML把预期的结果的例子吗? – Aleuck

+0

非常不清楚,对我没有意义 – Harko

+0

@Aleuck预期结果显示在以下答案中。 – developer

回答

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 />") 
 
    }; 
 
    }); 
 
});
<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>

+0

如果我有超过2个div div的怎么样?它如何变得动态? – developer

+0

只是我想列出item1然后Item2在同一个列表中。然后下一个Item1。让我更新我的问题 – developer

+0

你是非常正确的,但有点误会。请检查更新的查询。顺便提一下,在此先感谢。 – developer

0

它看起来并不像你理解阵列的方式,也不是很清楚你想要做什么。

如果你试图匹配ITEMDIV1然后追加,这将永远不会发生,因为你的搜索是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 
} 
} 

现在,这将匹配ITEMDIV0,ITEMDIV- 1,ITEMDIV-2等存在。

编辑:如果需要的1初始化然后开始for循环在1和使用,数组索引

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

哦,它应该由一个初始化。是的我在for循环中的数组有点困惑。 – developer

+0

您的更新意义不大。只有1个循环,1个镜头,即使它像你期望的那样工作,它只会看到最后一次迭代。 –