javascript - 使用数据属性循环遍历 div 中的每个子项

标签 javascript jquery arrays custom-data-attribute

我有多个 <div> s,基于 <select> ,其中每个包含多个 <input> s,有时是残疾人 <select>具有固定值。现在我试图遍历每个 div 并将所有输入和选择值放入一个 array 并将该数组插入“master”数组。

然而,这似乎不太奏效。
我觉得我已经接近但到目前为止。 :(

var dummy = [];
    for(var i = 1; i <= toSend.count; i++){
        var temp = [];
        $("div[data-row="+i+"]").children('input, select').each(function(){
            temp.push( $(this).val() );
        });

        dummy.push(temp);
    };

    console.log(dummy); 

toSend.count 是用data-row计算多少个div存在。
HTML 看起来像这样:

<div id="container">
   <div data-row="1">
      <input type="text"/>
      <input type="text"/>
   </div>
   <div data-row="2">
     <input type="text"/>
     <input type="text"/>
  </div>
</div>  

啊啊啊,别介意这是我自己的愚蠢!我正在通过 AJAX 生成 div
我自己复制粘贴了一个错误。
所有的 div 都有 data-row=1 ,难怪它把所有东西都打包在一个数组中>。<

最佳答案

(编辑:付费阅读更完整的代码)

由于 toSend 变量只是具有 data-row 属性的 DIV,因此无需遍历 toSend 来查找 DIV:

var dummy = [];

$("#container div[data-row]").each(function() {
    var temp = [];

    $(this).children("input, select").each(function() {
        temp.push(this.value);
    });

    dummy.push(temp);
});

在此之后,您甚至可能根本不需要 toSend 变量。

关于javascript - 使用数据属性循环遍历 div 中的每个子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585428/

相关文章:

javascript - jQuery 输入值故障排除

php - 图像翻转-鼠标放大

javascript - 使用 ChartEditor 调整谷歌可视化的大小

javascript - 如何将文本定位在图像的中心?

javascript - Css3 过渡队列

javascript - 为什么我的函数无法返回具有特定文本内容的元素?

jquery - 在 Trello 中,如何显示卡号?

javascript - 我无法将 JSON 数据放入数组中

java - 如何在java中访问动态字符串数组的元素?

java - 求二维数组长度?