js-在月份类月份中将月份num更改为char

时间:2018-04-24 05:49:24

标签: javascript date

我有一个里面有日期选择器的平台,我的问题是解决课程月份的范围,并在将其更改为3个字符后使其成为短期的月份字符,如01 = JAN,02 = FEB,03 = MAR等。 我已经尝试了所有我知道的但是我是js的新手并且在我通过jquery将日期(从日期选择器)更改为2个字符后我真的不知道如何解决这个问题然后我需要用数组转换它显示月份的3个字母。

有人可以指导我,我已经在堆栈上尝试了一些东西但是大多数都是在datepicker中的操作,我不能这样做,因为我没有通往js文件的路径,该文件实现了datepicker平台,仅直接解决跨度并将其更改为月份名称的短期。

Heres我的小提琴(没有css需要所以我只是把我试图改变的东西没有成功):

尝试在span class month上使用数组:

var month = new Array();
month[0] = "Jan";
month[1] = "Feb";
month[2] = "Mar";
month[3] = "Apr";
month[4] = "May";
month[5] = "Jun";
month[6] = "Jul";
month[7] = "Aug";
month[8] = "Sep";
month[9] = "Oct";
month[10] = "Nov";
month[11] = "Dec";

my snippet

先谢谢你们!

3 个答案:

答案 0 :(得分:2)

不要使用Array构造函数 - 而是使用数组文字语法更好。

从元素获得月份文本后,您需要做的是从字符串的开头删除零(如果有的话),然后在数组中执行相应的查找。



const months = [
  null,
  'Jan',
  'Feb',
  'Mar',
  'Apr',
  'May',
  'Jun',
  'Jul',
  'Aug',
  'Sep',
  'Oct',
  'Nov',
  'Dec'
];

const monthsText = document.querySelector('.month').textContent;
const monthsIndex = monthsText >= 10 ? monthsText : monthsText.slice(1);
console.log('Selected month: ' + months[monthsIndex]);

<div class="hentry-left">
  <div class="entry-date">
    <span class="day">11</span>
    <span class="month">04</span>
  </div>
  <div class="featured-image" style="background-image:url(media/about-me-2.jpg)"></div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

Working Fiddle

HTML:

<div class="hentry-left">
<div class="entry-date">
<span class="day">11</span>
<span class="month">04</span>
</div>
<div class="featured-image" style="background-image:url(media/about-me-2.jpg)"></div>
</div>

JS:

var month = new Array();
month[0] = "Jan";
month[1] = "Feb";
month[2] = "Mar";
month[3] = "Apr";
month[4] = "May";
month[5] = "Jun";
month[6] = "Jul";
month[7] = "Aug";
month[8] = "Sep";
month[9] = "Oct";
month[10] = "Nov";
month[11] = "Dec";

var value = $('.month').text();
$('.month').html(month[parseInt(value)]);

答案 2 :(得分:1)

使用类month从元素中获取文本。并使用month数组(减去1)

中的值替换

   
    var month =[];
    month[0] = "Jan";
    month[1] = "Feb";
    month[2] = "Mar";
    month[3] = "Apr";
    month[4] = "May";
    month[5] = "Jun";
    month[6] = "Jul";
    month[7] = "Aug";
    month[8] = "Sep";
    month[9] = "Oct";
    month[10] = "Nov";
    month[11] = "Dec";
    
    $(".month").text(month[parseInt($(".month").text()) - 1])
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="hentry-left">
<div class="entry-date">
<span class="day">11</span>
<span class="month">04</span>
</div>
<div class="featured-image" style="background-image:url(media/about-me-2.jpg)"></div>
</div>