2012-01-18 30 views
0

我正尝试在<div><span>标签内包装动态生成的元素及其子元素,以便可以根据需要隐藏/显示。将少量元素及其子元素包装在标签中。 JQuery

<tr> 
    <td class="SubHeader1" colspan="3" rowspan="1">For those drivers:</td> 
</tr> 
<tr> 
    <td class="TextBold" align="left" valign="middle">16.</td> 
    <td class="TextBold" align="left" valign="middle">Text for Question 16:</td> 
    <td class="TextBold" align="left" valign="middle"> 
    <input name="ctl00$DefaultContent$ctl15" type="text" class="TextNormal" style="width:36px;" />  
    </td> 
</tr> 
<tr> 
    <td class="TextBold" align="left" valign="middle">17.</td> 
    <td class="TextBold" align="left" valign="middle">Content for Question 17:</td> 
    <td class="TextBold" align="left" valign="middle"> 
    <input name="ctl00$DefaultContent$ctl16" type="text" class="TextNormal" style="width:36px;" /> 
    </td> 
</tr> 

只有两个在整个页面类= SubHeader1,我想换行第二<tr><td>包含“SubHeader1”,也是下面两个<tr>秒。

这是我能够想出的东西似乎不工作。

$('.SubHeader1:eq(1)').parent().each(function() { 
      $(this).add($(this).next()).wrapAll('<div class="HideShow"></div>'); 
    }) 

提前感谢

BB

+3

是否要将''换成'''?那是有效的HTML吗? – 2012-01-18 18:42:36

+1

@ChristoferEliasson显然不是:http://jsfiddle.net/J5dHn/ - IE9和Chrome中的DOM检查器报告说,这些浏览器不会忽略DIV,它们实际上会将其删除。 – Blazemonger 2012-01-18 18:46:25

+1

您无法用div封装​​s或 s,您将不再拥有有效的表格。但是,您可以将​​的争用包装在一个div中。你是否尝试组合到相邻的? – Sinetheta 2012-01-18 18:49:10

回答

1

由于干扰一个<table>的工作位内<div>旨意无效的HTML,只引起心痛,怎么样,我们给<tr>š自己一类然后您可以使用显示/隐藏

var $target = $('.SubHeader1:eq(1)');// we'll cache this for readability 
$target.add($target.next()).add($target.next().next()).addClass('HideShow'); 
相关问题