Javascript 如何用整数来求数字?

Javascript 如何用整数来求数字?,javascript,jquery,Javascript,Jquery,我有以下代码: 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 +'>$&</

我有以下代码:

  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]
});
var myDay=today.getDate();
$.fn.wrapInTag=函数(选项){
var tag=opts.tag | |'td'
,words=opts.words | |[]
,regex=RegExp(words.join(“|”),“gi”)//不区分大小写
,取代率=“$&”;
返回this.html(函数(){
返回$(this).text().replace(regex,replacement);
});
};
//用法
$('td').wrapInTag({
标记:“td class=”日历突出显示“,
文字:[myDay-15]
});
这个脚本为我做的就是把我的日历拿出来,在一个月的当前日期后面放一个样式,表示这是那天

这在第10-31天非常有效,但在第1-9天,它不只是突出显示特定的一天。如果是9月1日,脚本将把样式应用于1、10、11、12等


如何使脚本只读取和匹配整个数字?

我对您选择的解决此问题的方法没有太多经验,因此我想我可以尝试并建议一种同样直观的替代方法:

// 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');

希望这能有所帮助

我强烈建议使用jQuery选择器的.addClass()函数,而不是直接在HTML上进行字符串替换。它更干净、更容易,而且不会意外地引入安全漏洞……谢谢,我刚刚在堆栈溢出上发现了这段代码,因为它完成了我需要它做的事情。我现在真的需要编辑它。我尝试过一些事情,但我没有那么聪明。我喜欢它!非常感谢你!