【发布时间】:2012-11-07 15:55:27
【问题描述】:
在以下代码中:http://jsfiddle.net/ueP5U/1/
我有一个表,其中每个 td/th 成员都由其 <tr> 给出一个相对索引
var tableIterator = function(table, process) {
$.each(table.children(), function() { //cycle through thead,tbody,tfoot
$(this).children().each(function() { //cycle through thead, tbody, tfoot "tr"s
process.call($(this));
});
});
}
tableIterator($("table"), function() {
$(this).find("td,th").each(function() {
$(this).text("Index: " + $(this).index());
});
});
该表可以包含两个或多个标题,其中父标题具有更大的 colspan,而底部标题通过提供相同数量的列来符合要求(即索引 4 有两个索引为 1 和 2 的子标题)。
我实际上要做的是制作父标题,选择其所有“子”(当然不是实际的 dom 子),然后根据所选列进行相同的操作。
我的逻辑是:每个标题元素,需要找到它以前的兄弟“孩子”索引,并将 colspan 的数量添加到它自己的孩子中以获得他们的索引(即索引 5 [colspan = 2],去索引4,找到它的最后一个孩子(索引 1))并将 colspan 的数量添加到它的“孩子”中,这样它们就会有 index: 2 和 index: 3 (+=1*colspan.val() 次)
“孩子”也是如此。
我假设我需要根据使用 jQuery.filter(return $("thead").findByColumn(2[或任何其他顶部标题索引])) 显示的内容创建一个包含绑定元素的对象数组p>
希望得到一些帮助,因为我什至在开始时都遇到了麻烦,非常欢迎点击突出显示、按 max_width 隐藏或根据选择在列上运行的示例!
【问题讨论】:
标签: javascript jquery html algorithm