javascript-动态创建嵌套数组

前端之家收集整理的这篇文章主要介绍了javascript-动态创建嵌套数组 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想做的是循环播放此HTML获取我要获取HTML值的嵌套数组.

起初看起来可能很复杂
但这是一个简单的问题…

html

  1. <div class="configureData">
  2. <div title="Large">
  3. <a href="yellow" title="true" rel="$55.00" name="sku22828"></a>
  4. <a href="green" title="true" rel="$55.00" name="sku224438"></a>
  5. <a href="Blue" title="true" rel="$55.00" name="sku22222"></a>
  6. </div>
  7. <div title="Medium">
  8. <a href="yellow" title="true" rel="$55.00" name="sku22828"></a>
  9. <a href="green" title="true" rel="$55.00" name="sku224438"></a>
  10. <a href="Blue" title="true" rel="$55.00" name="sku22222"></a>
  11. </div>
  12. <div title="Small">
  13. <a href="yellow" title="true" rel="$55.00" name="sku22828"></a>
  14. <a href="green" title="true" rel="$55.00" name="sku224438"></a>
  15. <a href="Blue" title="true" rel="$55.00" name="sku22222"></a>
  16. </div>
  17. </div>
  18. @H_502_12@

javascript

  1. //This script is just part of a Object containing methods.
  2. parseData:function(dH){
  3. dH.find(".configureData div").each(function(indA,eleA){
  4. colorNSize.tempSizeArray[indA] = [eleA.title,[],[]]
  5. $(eleZ).find("a").each(function(indB,eleB){
  6. colorNSize.tempSizeArray[indA][indB] = eleB.title
  7. })
  8. })
  9. },@H_502_12@

我希望最终数组应如下所示.

  1. [
  2. ["large",["yellow","green","blue"],["true","true","true"],["$55","$55","$55"]
  3. ],["Medium","$55"]
  4. ]
  5. ]
  6. // and so on....
  7. @H_502_12@
最佳答案
给定您的HTML和此jQuery代码段:

  1. var result = [];
  2. $('.configureData div').each(function () {
  3. var $a = $('a',this);
  4. result.push([this.title,$.map(['href','title','rel'],function (a) {
  5. return [$.map($a,function (v) {
  6. return $(v).attr(a)
  7. })];
  8. })
  9. ]);
  10. });
  11. @H_502_12@

您可以按照自己的方式设置结果.

如果您有Firebug,只需执行console.dir(result)即可查看.

编辑:我更新了脚本以将任意属性提取到单独的子数组中

猜你在找的jQuery相关文章