javascript - 使用 nextUntil 查找当前单元格的索引

标签 javascript jquery-selectors jquery

这是我试图从中学习的问题

jQuery selector to grab cells in the same column

在提出任何使用索引和 nth-child 的答案之前,我一直在思考计算 $(this) 单元格之前的单元格数量 - 例如

var columnNo = parentRow.nextUntil($(this),"td").length;
console.log(columnNo); // gives 0 - what am I missing?
parentTable.find("tr td:nth-child(" + (columnNo+1) + ")")

http://jsfiddle.net/mplungjan/JUt4F/

问题:

  1. 为什么 nextUntil 不给出前面单元格的长度?

2.为什么点击只起作用一次?

请注意,我知道(在问这个问题之前)我可以使用index.html。我只是想修复我的脚本来探索 nextUntil

更新:我似乎混合了 nextAll 和 nextUntil,并且可能想象了某种 nextAllUntil

最佳答案

nextUntil() 方法将查找父行中的第一个 td 标记。使用该逻辑,您只需选择每行中的第一个单元格。每次点击都会起作用——您只需一遍又一遍地将同一列涂成红色即可。

您需要做的是搜索父行上的所有 td 标记,并使用 jQuery 的 index() 方法来识别单击的单元格在该行中的位置.

一个非常小的调整就可以解决这个问题:

$("td").on("click",function(){
    var parentTable = $(this).closest("table");
    var parentRow = $(this).parent();
    console.log(parentRow);
    var columnNo = parentRow.find('td').index($(this));
    console.log(columnNo);
    parentTable.find("tr td:nth-child(" + (columnNo+1) + ")")
        .css("color", "red");
});​

工作示例:http://jsfiddle.net/JUt4F/15/

关于javascript - 使用 nextUntil 查找当前单元格的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14065650/

相关文章:

javascript - 我可以避免 $scope.$watch 返回未定义的值吗?

javascript - 单选按钮的禁用属性在 react 形式中不起作用

javascript - 使用 jquery,获取具有特定类名的 "next"文本框的最佳方法是什么

jQuery 属性名称包含

javascript - 通过单击进行拖放功能

c# - 在提交按钮的 OnClientClick 事件上调用 javascript 函数

javascript - 如何打开模态 onclick?

javascript - $ 和 $$ 有什么区别

javascript - 复制 html 元素以缩放至全屏的正确方法

jquery - 有没有人有关于边框半径、过渡、边框阴影和渐变示例的 modernizr 示例?