Moment.js只能使用一次

时间:2015-02-18 18:47:01

标签: javascript jquery html momentjs

今天早些时候,我得到了帮助,让moment.js工作,它正常工作,除了它只能使用一次,或者只显示在一个位置和一个实例中。

代码有效,但我希望每次都可以多次使用不同的日期。

我希望它能够如下工作(不需要是div)

<body>
    <div id="inputDiv" style="display: none">2015-02-14 19:07:00</div>
     <!-- This is the date which will be "converted" and displayed in   #displayMoment -->
    <div id="displayMoment"> <!-- 4 day ago --> </div> 

    <div id="inputDiv" style="display: none">2015-02-15 19:07:00</div>
    <div id="displayMoment">  <!-- 3 days ago --></div>

    <div id="inputDiv" style="display: none">2015-02-18 19:07:00</div>
        <div id="displayMoment"> <!-- 2 hours ago --></div>

</body>

我尝试让脚本向#displayMoment添加“1”,以便能够使用#displayMoment1#displayMoment2等等...但它不起作用:/ 代码有效,但我只能使用#displayMoment一次,

我今天早些时候从某人那里得到的JSFIDDLE

<div id="inputDiv">2015-02-18 19:07:00</div>
<div id="displayMoment"></div>

// use Moment.js to display current date in a div (#displayMoment)
var inputDiv = document.getElementById('inputDiv');
var eDisplayMoment = document.getElementById('displayMoment');
eDisplayMoment.innerHTML =  moment(inputDiv.innerHTML, "YYYY-MM-DD hh:mm:ss").fromNow();

我搜索了它,但我不知道要搜索哪些'关键字':(

提前感谢您的时间

1 个答案:

答案 0 :(得分:1)

HTML文件:

<div class="inputDiv">2014-12-20</div>
<div class="displayMoment"></div>
<div class="inputDiv">2015-01-20</div>
<div class="displayMoment"></div>

JS文件:

// use Moment.js to display current date in a div (.displayMoment)
var inputDiv = document.getElementsByClassName('inputDiv');
var eDisplayMoment = document.getElementsByClassName('displayMoment');
for(i=0;i<=inputDiv.length;i++) {
    eDisplayMoment[i].innerHTML =  moment(inputDiv[i].innerHTML, "YYYY-MM-DD").fromNow();
}

我所做的是通过用类名填充数组来建立数组,如getElementsByClassName()所示。然后我告诉它得到innerHtml检查它返回一个日期然后把它放回到我使用数组inputDiv []获取它的适当位置。