Javascript 使用Jquery将包含html元素的数组转换为节点列表

Javascript 使用Jquery将包含html元素的数组转换为节点列表,javascript,jquery,html,Javascript,Jquery,Html,Html 剧本 //将表转换为列 var列=[]; var trs=$(“表tr”); for(i=0;i为什么内部for循环?您对trs[j][i]有什么期望?[j]元素将始终是一个,如果jQuery对象中的前三个元素是[i]很可能是未定义的…仅供参考,一个表元素已经提供了一个二维节点数组。表。行是tr元素的集合,每个tr都有一个单元格td/th元素的集合。我添加了另一个tr,所以它现在不会失败。但是我无论如何,这并不是我问题的答案。正如我在第一篇评论中指出的,你的问题是基于不合逻辑的代

Html


剧本


//将表转换为列
var列=[];
var trs=$(“表tr”);

for(i=0;i为什么内部
for
循环?您对
trs[j][i]
有什么期望?
[j]
元素将始终是一个,如果jQuery对象中的前三个元素是
[i]
很可能是
未定义的
…仅供参考,一个
元素已经提供了一个二维节点数组。
表。行
tr
元素的集合,每个
tr
都有一个
单元格
td/th
元素的集合。我添加了另一个tr,所以它现在不会失败。但是我无论如何,这并不是我问题的答案。正如我在第一篇评论中指出的,你的问题是基于不合逻辑的代码。我认为反复获取前三个
tr
元素,并要求每个元素都有递增的数值属性是没有意义的。@user3692815你的代码有很多错误。无论如何,
var columns=$('table td');
然后,如果您对
感兴趣,可以只执行
var someColumns=columns.filter('.some');
<html>
   <body>
      <table>
         <tr>
            <td class="some"></td>
            <td></td>
         </tr>
         <tr>
            <td class="some"></td>
            <td></td>
         </tr> 
         <tr>
            <td class="some"></td>
            <td></td>
         </tr>            
      </table>
   </body>
</html>
<script>
    //Convert the table to columns
    var columns = [];
    var trs = $("table tr");
    for(i=0;i<trs.length;i++){
        var column = [];
        for(j=0;j<2;j++){
            column.push($(trs[j]).find("td")[i]);            
        }
        columns.push(column);
    }
</script>
<script>
   $(columns[0]).find(".some").length // will print 0
</script>