我正在使用 jquery datepicker,我正在尝试向它添加一些我自己的样式 - 但是 - 因为周数只是直接插入到表格单元格中,所以我只能使用它来做的事情非常有限CSS。
有什么办法可以制作当前格式:
<td class="ui-datepicker-week-col">40</td>
看起来更像这样
<td class="ui-datepicker-week-col"><p>40</p></td>
我正在使用 jquery datepicker,我正在尝试向它添加一些我自己的样式 - 但是 - 因为周数只是直接插入到表格单元格中,所以我只能使用它来做的事情非常有限CSS。
有什么办法可以制作当前格式:
<td class="ui-datepicker-week-col">40</td>
看起来更像这样
<td class="ui-datepicker-week-col"><p>40</p></td>
$(document).ready(function() {
$("#selector")
.datepicker({ showWeek: true ,
onChangeMonthYear:function(a,b,c)
{setTimeout(function(){$(c.input).trigger('update');},20);}
}).on('update',function(){$('.ui-datepicker-week-col',this).wrapInner('<p/>');})
.trigger('update');
});
演示:http: //jsfiddle.net/doktormolle/7MqLn/
但我同意 Scott Selby 的观点,选择器.ui-datepicker-week-col
足以用于自定义样式。
您可能应该在生成表后运行 JavaScript 函数。
我没有测试过这段代码,但这应该是方法。
var targetTag = document.getElementsByClassName("ui-datepicker-week-col");
现在这会将所有元素作为一个数组提供给您,例如 targetTag[0]、targetTag[1]、... 然后您可以为每个循环运行一个并执行以下操作:
targetTag[i].innerHTML = "<p>" + targetTag[i].innerHTML + "</p>";
注意:一些较旧的浏览器可能不支持 getElementsByClassName JavaScript 函数。
您可以控制您的 jquery-ui css 文件,您可以覆盖其中的任何内容以按照您想要的方式设置样式,我不知道有任何方法可以更改呈现的 HTML,例如添加<p>
日期,但您总是可以这样做css中这样的东西
.ui-datepicker-week-col{
display: inline !important; // or however you want to change it
}
或添加 HTML
<style type="text/css">
.ui-datepicker-week-col{
... /*HTML styling will override css file*/
}
</style>