使用jQuery隐藏和显示表中的额外列
Hide and show extra colums withinin table using jQuery
我正在jQuery中处理一些复杂的事情(至少对于我的标准来说),并且完全不知道如何前进。我或多或少地在脑海中看到了这个结构,但很难将其写进正常工作的jQuery代码:
- 单击"下一列"或"上一列"时,应高亮显示下一列或上一列,这样可以很好地工作
- 一旦您到达最后一列(R6)并单击下一列,就会出现一个新元素(R7),并且R1应该被删除。R7和其他cols已经在html中,但使用CSS使其不可见。如何使R7出现,R1消失,依此类推
invisble表已经在html代码中,你可以在右上角的表中看到它和种族描述,一旦你再点击R6,它将继续到R7,直到R12。
我脑海中的逻辑是这样的:
- 当用户到达最后一个可见的R并单击"下一个"时,将类"不可见"添加到左侧的R,并将类"可见"添加至右侧的R。T
- 当用户单击上一个时,应该发生与上面相反的情况
棘手的部分是,一旦下一个Rn出现在最后一个。。
感谢您查看我的代码:http://jsfiddle.net/yunowork/hVHZb/
以下是您的fiddle的更新,可以随心所欲地工作。
这是我添加的代码,用于显示新列并隐藏前一列:
if ($nextCol.hasClass("invisible")) {
$nextCol.removeClass("invisible");
$nextCol.addClass("visible");
var $toRem = $nextCol.prev('td').prev('td').prev('td').prev('td').prev('td').prev('td');
$toRem.removeClass("visible");
$toRem.addClass("invisible");
}
colspan
有类似的代码。我还制作了标题列12的if
,使得额外的列也落入其掌握范围内。
代码中唯一"丑陋"的部分是如何找到要删除的列。我只是决定回溯6列并隐藏那一列。理想情况下,您希望将该功能抽象出来,使其更加灵活。
编辑:更新了fiddle,修复了prev错误。我在if($prevCol.length != 0 && $prevCol.index() >= 8)
语句中添加了以下内容:8
。我不知道为什么CCD_6是数字(我认为应该是2),但它似乎是4的倍数。
相关文章:
- Jquery隐藏未触发
- 使用JavaScript或jQuery隐藏和显示元素
- 使用jQuery隐藏和显示表中的额外列
- JQuery隐藏/显示无法正常工作
- 使用jQuery隐藏和显示具有相同Class的类
- 使用jquery隐藏、显示
- 如何使用jQuery隐藏与选择选项相关的选择选项列表
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- jQuery隐藏函数与“;按钮“;以及“;span”;但不是用“;a“;要素
- jQuery隐藏函数出现问题
- jQuery 隐藏按钮,如果它们不包含文本
- 我无法用jQuery隐藏我的段落
- jQuery 隐藏选项元素
- 使用 JQuery 隐藏没有数据(包括标头)且具有相同表 ID 的列
- 使用jQuery隐藏元素;不起作用
- jQuery:隐藏类,以便隐藏该类随后创建的元素
- jQuery隐藏只触发一次
- jQuery隐藏所有trs或td,而不仅仅是一个
- JQuery隐藏/显示不起作用
- jQuery隐藏/显示问题