作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
实际上,我正在开发一个比较两个日期的函数(一个日期是从隐藏输入中获得的,另一个日期是当前日期时间)。我用 JS 编写了一个功能完美的函数:
var elements = document.getElementsByClassName("getTime");
var names = [];
for(var i=0; i<elements.length; i++) {
names = elements[i].value;
var dece = moment(names).format();
var cureTime = moment().format();
seco=moment().diff(dece, 'seconds');
if ((Math.floor(seco / 60)) >= 1 && (Math.floor(seco / 60))<60) {
console.log(Math.floor(seco / 60) + " minutes");
document.getElementsByClassName("time").innerHTML = Math.floor(seco / 60) + " minutes ago";
}else if(((Math.floor(seco / 3600)) >= 1) && ((Math.floor(seco / 3600))<24))
{
console.log(Math.floor(seco / 3600) + " hours");
document.getElementsByClassName("time").innerHTML = Math.floor(seco / 3600) + " hours ago";
}else if (((Math.floor(seco / 86400)) >= 1) && ((Math.floor(seco / 86400)) <30))
{
console.log(Math.floor(seco / 86400) + " days");
document.getElementsByClassName("time").innerHTML = Math.floor(seco / 86400) + " days ago";
}else if (((Math.floor(seco / 2592000)) > 1) && ((Math.floor(seco / 2592000)) <= 12))
{
console.log(Math.floor(seco / 2592000) + " months");
document.getElementsByClassName("time").innerHTML = Math.floor(seco / 2592000) + " months ago";
}else if((Math.floor(seco / 31536000)) > 1)
{
console.log(Math.floor(seco / 31536000) + " years");
document.getElementsByClassName("time").innerHTML = Math.floor(seco / 31536000) + " years ago";
}
}
因此,所有这些 console.logs(在每个 if 语句中)都会返回正确的日期差异。但现在我不明白如何将所有这些差异解析为具有相同类名的适当跨度字段。我的 HTML 看起来像这样:
@foreach($repoData as $kek)
<span class="time" id="openedOn"></span>
<input type="hidden" class="getTime" id="time" value='{!! $kek->created_at !!}'>
@endforeach
需要明确的是,这个 FOREACH 生成了几个存储在隐藏输入中的日期。然后我从这个隐藏输入中获取值并将它们传递给我在 JS 中的函数。所以我不明白应该如何将 JS 函数中的元素解析为类名“time”的跨度。请帮忙。
最佳答案
getElementsByClassName
函数返回一个数组(了解更多 here ),因此您需要使用数组表示法来访问其元素
document.getElementsByClassName("time")[0].innerHTML
就您而言,由于您访问循环中的元素,因此您应该简单地使用计数器(i
)。
document.getElementsByClassName("time")[i].innerHTML
将上面的内容替换为其工作的所有条件。
关于javascript - 将 javascript 数组解析为具有相同类名的适当输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633961/
现在我正在尝试实现 flash programming specification对于 PIC32MX。我正在使用 PIC32MX512L 和 PIC32MX512H。 PIC32MX512L最终必须
我是一名优秀的程序员,十分优秀!