【问题标题】:jquery insert table rows between other table rows [closed]jquery在其他表行之间插入表行[关闭]
【发布时间】:2012-12-19 08:09:32
【问题描述】:

我有两张桌子:

<table width="200" id="table1" border=1 style="float:left;">
<tr><th>Subject</th><th>Hour</th></tr>
<tr class="head"><td colspan=2>MONDAY</td></tr>
<tr><td>English</td><td>3pm</td></tr>
<tr><td>Spanish</td><td>4pm</td></tr>
<tr class="head"><td colspan=2>TUESDAY</td></tr>
<tr><td>Italian</td><td>1pm</td></tr>
<tr><td>French</td><td>2pm</td></tr>
<tr class="head"><td colspan=2>WEDNESDAY</td></tr>
<tr><td>Japanese</td><td>10pm</td></tr>
</table>
<table width="200" id="table2" border=1 style="float:left;">
<tr><th>Users</th></tr>
<tr class="second"><td>User1</td></tr>
<tr class="second"><td>User2</td></tr>
<tr class="second"><td>User3</td></tr>
<tr class="second"><td>User4</td></tr>
<tr class="second"><td>User5</td></tr>
</table>​​​​​​​​​​​​​

我想要实现的是,对于表 1 中的每个头类,我想插入空白表行,以便表 2 中的用户将匹配正确的主题(不是日期名称),所以它将是 User1 相同符合English, User1 -> Spanish ... 等等。

注意: 如果你问为什么这些表看起来像这样,那是因为它们是从另一个页面动态加载的,我只能使用 jquery/javascript 将一些 id 属性设置为 td、tr 或表等。准备粘贴到JSFiddle的示例

编辑: 我想在表二中插入空白行,这样它们看起来都一样。这是我想要达到的结果的链接LINK

【问题讨论】:

  • 您要在table1 或table2 中插入空白行吗?你的问题并不清楚。
  • 看起来你发布了一个空白的 jsFiddle!
  • 你能展示你想要的结果吗?这些问题令人困惑。
  • 我的错误,有问题的更新

标签: javascript jquery jquery-selectors


【解决方案1】:

Demo

我明白了,你有两张并排的桌子,需要在右手边留出空隙来清除“头”行

// edited to cope with hidden trs in table 1
var emptytr=$('<tr><td>&nbsp;</td></tr>');
$('#table1 tr:visible').each(function(i){
    if ($(this).hasClass('head')){ 
        emptytr.clone().insertAfter('#table2 tr:eq('+(i-1)+')');
    }
});​

这不是显示表格结果的好方法,因为它们很容易错位。正确的方法是将两者结合起来,最好是在它们存在于浏览器之前。但是,您说您不能在浏览器上执行此操作,因为它们是动态加载的,但就我个人而言,我仍然坚持能够识别每个数据项属于哪一行并将整个事物制作成一张表。

【讨论】:

  • 这很好用,但现在我意识到我在表一中有一些表行,css display:none;我怎么能在你的循环中省略它们,因为它们会破坏整个视图。 LINK
  • grrrrr。编辑。哦等等,你不是那个意思……
  • 不,但不要生气..
  • 是的,现在它正在使用隐藏的 tr's ...非常感谢!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-12
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
相关资源
最近更新 更多