在HTML中使用“time ago”Javascript函数

时间:2016-09-13 20:59:02

标签: javascript html

我正在使用http://gpdb.docs.pivotal.io/4340/ref_guide/postGIS.html

中的humanized_time_span

对于我正在进行的项目,我需要一个“超时”的时间戳,以获取“最近的帖子”列表。我的问题是,我可以在我的HTML中包含humanized_time_span脚本(它必须是那样,我不能将它用作外部文件)以及如何在HTML体内调用该函数?我是JS的新手,所以请详细解释。

我有这些“帖子”的UL列表,我需要在每个帖子旁边加上时间戳。

<ul>
        <li class="list-group-item"><a href="#"><strong>This is a random post</strong></a></li>
        <li class="list-group-item"><a href="#"><strong>This is a random post 2</strong></a></li>
        <li class="list-group-item"><a href="#"><strong>This is a random post 3</strong></a></li>
        <li class="list-group-item"><a href="#"><strong>This is a random post 4</strong></a></li>
</ul>

目前,我在脚本标记之间的HTML元素末尾有github repo的代码,但我不知道如何在HTML中使用该脚本。

1 个答案:

答案 0 :(得分:1)

因此,您需要选择元素并运行该函数并替换文本。

因此,在document.ready或window onload上,您需要选择元素,读取文本并调用函数,并将文本替换为返回的内容。

var lis = document.querySelectorAll("li strong");  //select the elements
for (var i = 0; i < lis.length; i++) {  //loop over the HTML collection
  var li = lis[i],  //reference the current element of the collection
      text = li.innerHTML,  //read the text (could use textContent)
      result = humanized_time_span(text);  //run the function
  li.innerHTML = result;  //replace the text with the result returned from calling the function
}
<script src="https://rawgit.com/GrouchPotato/js_humanized_time_span/master/humanized_time_span.js"></script>

<ul>
  <li><strong>2016/09/13 11:00:00</strong>
  </li>
  <li><strong>2016/09/12 11:00:00</strong>
  </li>
  <li><strong>2016/09/11 11:00:00</strong>
  </li>
</ul>