我有这段代码:
var myDay = today.getDate();
$.fn.wrapInTag = function(opts) {
var tag = opts.tag || 'td'
, words = opts.words || []
, regex = RegExp(words.join('|'), 'gi') // case insensitive
, replacement = '<'+ tag +'>$&</'+ tag +'>';
return this.html(function() {
return $(this).text().replace(regex, replacement);
});
};
// Usage
$('td').wrapInTag({
tag: 'td class="calendar-highlight"',
words: [myDay-15]
});
所有这些脚本对我来说都是我的日历,并在当月的当天放置了一种风格,以表示它是那一天。
这适用于第10-31天但是第1-9天它并不仅仅突出显示特定日期。如果是9月1日,脚本将把样式应用到1,10,11,12等......
如何制作脚本使其只读取并匹配整个数字?
答案 0 :(得分:1)
我对你选择解决这个问题的方式没有多少经验,所以我想我可以尝试建议一种直观的替代方式:
// Get the current day number
var myDay = today.getDate();
// Grab all your td elements, filter them
var currentDateCell = $('td').filter(function() {
// Will only return true for when the text of the cell is equal
// to the current date
return $(this).text() === myDay.toString();
});
// Add your highlight class to the current date cell
currentDateCell.addClass('calendar-hightlight');
希望这可以提供帮助!