2012-01-18 55 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');