2011-03-01 71 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