Javascript 使用Jquery将包含html元素的数组转换为节点列表
HtmlJavascript 使用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,所以它现在不会失败。但是我无论如何,这并不是我问题的答案。正如我在第一篇评论中指出的,你的问题是基于不合逻辑的代
剧本
//将表转换为列
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>