javascript - 无法获取每个父 div/类中的子 div ID

标签 javascript jquery multidimensional-array

当我尝试获取每个父 div/类中的子 div ID 时,我收到错误“未捕获的类型错误:无法设置未定义的属性“0””。我将此 javascript 与 scriptaculous 结合使用,因此我关闭了“$”快捷方式。

示例 HTML:

<div id="group1" class="section">
     <h3 class="handle"><input type="hidden" name="groupName1" value="MyGroup1">MyGroup1</h3>

    <div id="item_73548" class="lineitem">item a</div>
    <div id="item_73386" class="lineitem">item b</div>
    <div id="item_73163" class="lineitem">item c</div>
</div>
<div id="group2" class="section">
     <h3 class="handle"><input type="hidden" name="groupName2" value="MyGroup2">MyGroup2</h3>

    <div id="item_73548" class="lineitem">item d</div>
    <div id="item_73386" class="lineitem">item e</div>
    <div id="item_73163" class="lineitem">item f</div>
</div>

Javascript:

$.noConflict();
var sections = document.getElementsByClassName('section');

var groups = new Array();

for (i = 0; i < sections.length; i++) {
    var section = sections[i];
    var sectionID = section.id;

    var j = 0;

    jQuery.each(jQuery("#" + sectionID + " .lineitem"), function () {

        groups[i][j] = jQuery(this).attr('id');
        j++;

    });

}

console.log(groups);

输出应该是:

groups[0][0]="item_73548";
groups[0][1]="item_73386";
groups[0][2]="item_73163";
groups[1][0]="item_73548";
groups[1][1]="item_73386";
groups[1][2]="item_73163";

在这里摆弄:http://jsfiddle.net/qy9dB/3/

最佳答案

在尝试向数组添加第二级元素之前,您只需确保将 groups[i] 设置为数组即可。

$.noConflict();
var sections = document.getElementsByClassName('section');

var groups = new Array();

for (i = 0; i < sections.length; i++) {
    var section = sections[i];
    var sectionID = section.id;

    groups[i] = [];

    var j = 0;

    jQuery.each(jQuery("#" + sectionID + " .lineitem"), function () {

        groups[i][j] = jQuery(this).attr('id');
        j++;

    });

}

console.log(groups);

关于javascript - 无法获取每个父 div/类中的子 div ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049278/

相关文章:

javascript - 如果JS禁用和启用,如何更改链接?

javascript - 为什么 $(this) 会根据回调的创建方式而有所不同?

python - 使用 numpy 进行多维索引的最佳方法是什么?

c - 在二维矩阵(水平、垂直、对角线)中查找回文

javascript - Chrome 通知

javascript - Node.js 有效地导出非匿名函数(所以 eslint 停止提示)

javascript - d3js 平行坐标分类数据

javascript - 自定义小部件未显示在 mozilla-services-react-jsonschema-form 中

c# - javascript/jquery 中日期时间的文化转换

python - Python中的二维数组