我在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;
}
答案 0 :(得分: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);