Заменить HTML-текст, когда он меняется месяц к месяцу - PullRequest
0 голосов
/ 20 октября 2019

У меня есть календарь, который меняет названия месяцев, и использует сокращенное название месяца, также как декабрь, январь, февраль. Я хочу изменить это на полные имена. Есть ли способ объединить эти функции в одну?

jQuery('#calendar .month_header th').html(function () {
    return $(this).html().replace('Oct', 'OCTOBER');
});
jQuery('#calendar .month_header th').html(function () {
    return $(this).html().replace('Nov', 'NOVEMBER'); 
});
jQuery('#calendar .month_header th').html(function () {
    return $(this).html().replace('Dec', 'DECEMBER'); 
});

1 Ответ

3 голосов
/ 20 октября 2019

Вы можете объединить несколько replace() вместе

jQuery('#calendar .month_header th').html(function(i, currHtml) {
  return currHtml
    .replace('Oct', 'OCTOBER')
    .replace('Nov', 'NOVEMBER')
    .replace('Dec', 'DECEMBER');
});

Для всех месяцев вы можете использовать массив с циклом замены:

const months = [
   /* add prior months */
   {short:'Oct', full:'OCTOBER'},
   {short:'Nov', full:'NOVEMBER'},
   {short:'Dec', full:'DECEMBER'}
];


jQuery('#calendar .month_header th').html(function(i, currHtml) {    
  months.forEach(function(e) {
    currHtml = currHtml.replace(e.short, e.full);
  });    
  return currHtml;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...