嗨,我不是最好的Jquery伙伴,今天我正在尝试轻松切换练习。使用span ...中的触发器切换表格的一部分
我有一张桌子,我想在'td'内使用一个跨度来触发切换。我希望jquery切换当前行下的所有行,直到找到具有类标题的另一行...
Jquery代码:
$('.meer').click(function(){ $(this).parent().find('span.meer').text(function(_, value){return value=='-'?'+':'-'}); $(this).parents().nextUntil('tr.header').toggle(100, function(){ }); });
第三行的代码对我来说是破解者。 +我不确定第一个选择器('.meer')|| ('span .meer')..
Fiddle: http://jsfiddle.net/95nWh/
问题是切换后表后的所有内容都没有显示... 请查看小提琴
有人能帮助我吗?
答案 0 :(得分:1)
问题是离开table元素后.nextUntil
继续进行。解决方案正在将$(this).parents().nextUntil('tr.header').slideToggle(100, function () {});
更改为$(this).parents().nextUntil('tr.header,div').slideToggle(100, function () {});
编辑:链接错误
答案 1 :(得分:1)
您正在调用$(this).parents()
,没有参数。 .parents()
函数旨在接收选择器作为参数。
https://api.jquery.com/parents/
您要做的是找到跨度的直接tr
祖先。这有.closest()
。
http://api.jquery.com/closest/
所以你必须替换它:
$(this).parents().nextUntil('tr.header').toggle(100, function(){
});
有了这个:
$(this).closest("tr").nextUntil('tr.header').slideToggle(100, function(){
});