JQuery .insertAfter()DOM元素

时间:2011-03-01 06:54:13

标签: jquery-selectors

我有一个HTML表,我想在其中使用JQuery操作

表:

<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”开头。

我想在行中的每个元素之前插入到同一行中的相应元素

我正在使用以下代码:

$( '一个[HREF * = “FolderCTID”]')的insertBefore($( 'DIV [类^ = “ExternalClass”]'));

但是它插入了每一行的所有元素....我想我应该做一些事情来指定实体并循环* *实体的每一端......

请帮我解决这个问题

2 个答案:

答案 0 :(得分:1)

那你可能想要这个, 试试这个,让我知道,

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

答案 1 :(得分:0)

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

可能会有所帮助。