JQuery Wrap表格细胞与响应Div

时间:2016-02-17 17:22:46

标签: jquery html css sharepoint sharepoint-2013

我有一个自动生成的SharePoint表table#layoutsTable。我能够用div.row元素包装整个表。我正在尝试根据单元格的width属性,使用td + columns元素向.large-#元素添加单个类。这是精简的html标记:

<span id="DeltaPlaceHolderMain">
    ...
        <div class="row">
            <table id="layoutsTable" style="width: 100%;">
                <tbody>
                    <tr style="vertical-align: top;>
                        <td style="width: 66.6%;">
                            ...
                        </td>
                        <td style="width: 33.3%;">
                            ...
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
    ...
</span>

<div class="row">元素已经使用jquery手动包装到标记中,并尝试将类添加到此代码段中的单个单元格中:

$(document).ready(function(){
    $('table#layoutsTable').wrap('<div class="row">'); //operates properly

    $('table#layoutsTable td').each(function(){
        var width = $(this).css('width');
        console.log(width);
        if(width === '66.6%'){
            $(this).addClass('large-8 columns');
        }

        if(width === '33.3%'){
            $(this).addClass('large-4 columns');
        }
    });
});

另一种方法(尽管响应性的有限选项)是简单地将这些响应类添加到单元格本身。但是,这不是首选。

1 个答案:

答案 0 :(得分:1)

我不会用div包装一个td。它违背了拥有表结构的目的。只需将类添加到td。

$(this).addClass("large-8 columns");

http://api.jquery.com/addClass/