2012-04-25 57 views
0

Quick js \ jquery问题。选择2行之间的表格行

我有一个表是这样的:

<table id="test"> 
<tr class="divider"><td>Set 1</td></tr> 
<tr><td>Row 1</td></tr> 
<tr><td>Row 2</td></tr> 
<tr><td>Row 3</td></tr> 
<tr class="divider"><td>Set 2</td></tr> 
<tr><td>Row 4</td></tr> 
<tr><td>Row 5</td></tr> 
<tr><td>Row 6</td></tr> 
<tr class="divider"><td>Set 3</td></tr> 
<tr><td>Row 7</td></tr> 
<tr><td>Row 8</td></tr> 
<tr><td>Row 9</td></tr> 
</table> 

我想选择只与类“分水岭”行之间的3行。

我开始这里的jsfiddle:http://jsfiddle.net/ZQhBP/1/

我使用nextUntil但它似乎没有任何帮助是正确的工作

感谢。

回答

2

nextUntil()肯定工程:

var pull = $('.divider:first').nextUntil('.divider'); 
console.log(pull); 

JS Fiddle demo

而且搬完行并插入到一个新的表元素,第一个后:

var pull = $('.divider:first').nextUntil('.divider'); 
console.log(pull); 

$('<table />').insertAfter('table:first').append('<tbody />').html(pull); 

JS Fiddle demo

而且,如果你宁愿复制/克隆到一个新表:

var pull = $('.divider:first').nextUntil('.divider'); 
console.log(pull); 

$('<table />').insertAfter('table:first').append('<tbody />').html(pull.clone(true,true)); 

JS Fiddle demo

参考文献:

+0

完美的谢谢。 – 2012-04-25 14:45:10

+0

console.log(pull)做了什么? – 2012-04-25 14:46:08

+0

你绝对受欢迎;我很高兴得到了帮助! =)'console.log(pull)'将变量'pull'回显/打印到控制台。这很像'alert(拉)',除非它不那么干扰。看看你的JavaScript控制台(IE和Chrome的F12),Firebug和Dragonfly也应该有类似的选择。虽然我不知道这些浏览器的快捷键。 – 2012-04-25 14:46:11

1

http://jsfiddle.net/ZQhBP/4/

$('#test tr').not('.divider');

+0

这会选择我希望只选择特定分隔行之间的一组行的所有行。例如:第1行第2行第3行 – 2012-04-25 14:38:29

+0

关于哪些事件,页面加载?点击? – 2012-04-25 14:38:47

+0

@MarkK像这样:'$('。divider:nth-​​child(1)')。nextUntil('。divider');' – paulslater19 2012-04-25 14:41:39