2011-03-01 100 views
0

我有一個HTML表在哪,我想使用JQueryJQuery的.insertAfter()DOM元素

操縱

表:

<tr><td>----Parent One 
<Table id="ChildID" >----Child One 

First TR1<TR> 

<TD><div class=ExternalClass00FA6D5A488C4B2582667D6D8DF15F79>Value 1</div></TD> 

<TD class="ms-disc-bordered-noleft">Value 2</TD> 

<TD class="ms-disc-bordered-noleft">Value 3</TD> 

<TD class="ms-disc-bordered-noleft"> 
<A HREF="/Threaded.aspx?RootFolder=%2fLists&amp;FolderCTID=0x01200">Value 4</A> 
</TD></TR> 

.......... 

Second TR2<TR> 

<TD><div class=ExternalClass00FA6D5A488C4B2582667D6D8DF15F79>Value 1</div></TD> 

<TD class="ms-disc-bordered-noleft">Value 2</TD> 

<TD class="ms-disc-bordered-noleft">Value 3</TD> 

<TD class="ms-disc-bordered-noleft"> 
<A HREF="/Threaded.aspx?RootFolder=%2fLists&amp;FolderCTID=0x01200">Value 4</A> 
</TD></TR> 

........and so on 

</TABLE>---Child One 

</td></tr></TABLE>---Parent One 

我試圖選擇「值4」的最後有串「FolderCTID」在href和insertBefore「Value 1」中,div類以「ExternalClass」開頭。

欲行中的每個元素的insertBefore到相應的元件相同行中

我使用以下代碼:

$(「一個[HREF * =‘FolderCTID’]」) .insertBefore($( 'DIV [類^ = 「ExternalClass」]'));

但它插入的所有元素的每一行....我想我應該做出更明確的定義圍繞實體和循環* *實體的每端...

請幫我在此

回答

1

那麼你可能想這一點, 試試這個,讓我知道,

$('a[href*="FolderCTID"]').each(
    function(){ 
     $(this).parents('tr').find('div[class^="ExternalClass"]').before(this); 
    } 
); 
+0

再次它是相同的...集體採取一列中的所有元素,並在每一行插入該集合(所有元素) – Jam 2011-03-01 09:54:59

+0

你的腳本絕對正確的即時通訊對不起**再次更新上面的腳本** ...在我的情況下我寫** $(this).parents('tr')。find('div [class^=「ExternalClass」]')。before(this); **正在考慮一些Parent One 並給出錯誤的輸出。 。**我需要解決

----兒童之一,並以
---兒童之一結束**如何做到這一點?謝謝 – Jam 2011-03-01 11:54:11

0
$('a[href*="FolderCTID"]').each(
    function(){ 
     $(this).siblings(':first').insertBefore(this); 
    } 
) 

可能會有所幫助。

+0

不要ü的意思爲: '$(' A [HREF * = 「FolderCTID」]')每個(函數(。 ){$(this).siblings($('div [class^=「ExternalClass」]'))。insertBefore(this);});'但不幸的是,它返回的結果與我以前一樣......它將所有元素的一束插入到我們之前插入的每個元素....我正在尋找**同一行中的每個元素** – Jam 2011-03-01 07:31:15