0

我在 RAZOR MVC 应用程序的单独 js 文件中使用 JQuery 来使用 APPEND 方法从头开始动态构建 html 表。这很好用,但是当我使用 ADDCLASS 时,似乎直到刷新页面后才应用任何 CSS。有时根本没有!此代码是一个简单的表格,其中包含 30 天标题单元格和下面的另一行,其中一个单元格横跨所有区域。我还包括了我的CSS。

$(document).ready(function () {
    var startDate = $.telerik.formatString('{0:d}', $("#Start").data("tDatePicker").value());
    var forCalendarStartDate = new Date(startDate);

    $('#CalendarWrapper').append('<table id="Master"></table>');
    $('#Master').append('<tr id="MasterDatesRow"></tr>');
    for (var i = 0; i < 31; i++) {
        var headerDate = new Date();
        var d = new Date(headerDate.setDate(forCalendarStartDate.getDate() + i));
        var s = $.datepicker.formatDate('mm-dd', d);

        $('#MasterDatesRow').append('<th>' + s + '</th>');
    }
    $('#Master').append('<tr id="Header1"></tr>');
    $('#HeaderUSARAF').append('<td colspan="31" id="HeaderCell">USARAF</td>');

    //Class
    $('#Master').addClass('CalendarTable');
    $('#MasterDatesRow').addClass('DateHeader');
    $('#HeaderCell').addClass('Header');
});

css

.CalendarTable
{
    border:1;
    width:100%;
     font-size:small;
}

.DateHeader
{
    background-color:Green;

}

.Header
{ 
    background-color:#DBACBC;
    text-align:center;
}
4

1 回答 1

1

由于您直接为表格生成 HTML,我建议您将class="className"值直接放入 HTML 字符串中,而不是使用代码设置元素类:http: //jsfiddle.net/tNVGJ/

如果你坚持用 jQuery 设置类,你能试试这个,让我知道结果如何?http://jsfiddle.net/tNVGJ/1/

 setTimeout(function () {
          $('#Master').addClass('CalendarTable');
          $('#MasterDatesRow').addClass('DateHeader');
          $('#HeaderCell').addClass('Header');
 }, 1000);
于 2012-05-22T13:33:34.640 回答