使用jquery删除不正确的html标签

时间:2011-11-24 13:29:36

标签: jquery sharepoint radgrid

我正在使用嵌入在radgrid中的listview。 它在本地环境中运行良好,但是当我将页面上传到sharepoint服务器时,页面会使用一些不正确的标签进行渲染,例如

"</td/>" and "</tr/>"

如何使用Jquery删除此标记?

添加图片以获得更清晰

enter image description here

更多代码:

<telerik:radgrid id="RadGrd" runat="server" autogeneratecolumns="false" clientsettings-allowexpandcollapse="true" allowpaging="false">
<mastertableview tablelayout="Fixed" cssclass="userData" cellspacing="2">
        <FooterStyle CssClass="subRowTop" />
        <ItemStyle CssClass="subRowTop" />
        <AlternatingItemStyle CssClass="subRowTop" />
        <Columns>
            <telerik:GridTemplateColumn>
                <HeaderTemplate>
                </HeaderTemplate>
                <ItemTemplate>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <!-- 7 more grid template column -->
            <telerik:GridTemplateColumn>
                <HeaderTemplate>
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:ListView ID="ListView1" runat="server">
                        <LayoutTemplate>
                            <tbody runat="server" id="itemPlaceHolder">
                            </tbody>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <tr class="odd hide">
                                <td>
                                </td>
                                <td>
                                </td>
                                <td >
                                </td>
                                <td >
                                </td>
                            </tr>
                        </ItemTemplate>
                    </asp:ListView>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
</mastertableview>

打算在telerik列中使用列表视图来显示向下钻取数据

1 个答案:

答案 0 :(得分:0)

由于这些意外的html标签分别位于两个tr之间,分别有class odd和subRowTop,而subRowTop是第一个,我从这些行迭代并删除了这个不必要的标签

$('.subRowTop').each(function () {
                    var currentRow = $(this);
                    while (true) {
                        if (currentRow.next('tr.odd').length > 0) {
                            currentRow = currentRow.next('tr.odd');
                        }
                        else {
                            currentRow.nextUntil('tr').remove();
                            break;
                        }
                    }
                });