简体   繁体   English

jQuery中的for循环插入div

[英]For loop in jQuery to insert div

I am trying to insert a div that shows the Day within another div using jQuery.我正在尝试使用 jQuery 在另一个 div 中插入一个显示 Day 的 div。 I HTML structure is as follows:我HTML结构如下:

<div class="am-event-info">
 <div class="am-event-sub-info">
  <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div>
 </div>
<div class="am-event-sub-info">
  <div><img src="">February 27th, 2021 11:30 am - 1:00 pm</div>
 </div>
</div>

<div class="am-event-info">
 <div class="am-event-sub-info">
  <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div>
 </div>
<div class="am-event-sub-info">
  <div><img src="">February 28th, 2021 11:30 am - 1:00 pm</div>


 </div>
</div>

I am trying to create a loop that goes through each of the am-event-info divs, looks at the date and inserts another div within the am-event-info div that shows the day.我正在尝试创建一个循环,该循环遍历每个am-event-info div,查看日期并在显示当天的am-event-info div 中插入另一个 div。 eg first am-event-info would have Saturday, second would have Sunday etc.例如,第一个am-event-info将有星期六,第二个将有星期日等。

I have the code that shows the day and it only works for the first instance with the for loop but it keeps reapeting it self within the first instance.我有显示当天的代码,它仅适用于带有 for 循环的第一个实例,但它在第一个实例中不断重复它自己。 What can i do to rectify this?我能做些什么来纠正这个问题?

 var day = new Intl.DateTimeFormat('en-US', { weekday: 'long' }).format( new Date( $(".am-event-info").forEach(function () { $(this).find('.am-event-sub-info:eq(1)').text().trim().split(' - ')[0].replace("th","") // only interested in the "February 27, 2021 11:30 am" part })) ) document.querySelector('.am-event-sub-info').innerHTML += '<div class="day">'+day+'</div>';
 .am-event-info { padding: 10px; border: 1xp solid white; background: #c5c5c5; margin: 10px; }.day { color: red; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="am-events-booking"> <div class="am-event-info"> <div class="am-event-sub-info"> <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div> </div> <div class="am-event-sub-info"> <div><img src="">February 27th, 2021 11:30 am - 1:00 pm</div> </div> </div> <div class="am-event-info"> <div class="am-event-sub-info"> <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div> </div> <div class="am-event-sub-info"> <div><img src="">February 28th, 2021 11:30 am - 1:00 pm</div> </div> </div> <div class="am-event-info"> <div class="am-event-sub-info"> <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div> </div> <div class="am-event-sub-info"> <div><img src="">March 1st, 2021 11:30 am - 1:00 pm</div> </div> </div> </div>

You need to loop, you are only acting on the first index你需要循环,你只对第一个索引起作用

 $(".am-event-info").each(function() { var subInfo = $(this); var timeString = subInfo.find('.am-event-sub-info:eq(1)').text().trim().split(' - ')[0].replace(/(th|st|nd|rd),/, ","); var date = new Date(timeString); var day = new Intl.DateTimeFormat('en-US', { weekday: 'long' }).format(date); subInfo.append('<div class="day">' + day + '</div>'); });
 .am-event-info { padding: 10px; border: 1xp solid white; background: #c5c5c5; margin: 10px; }.day { color: red; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="am-events-booking"> <div class="am-event-info"> <div class="am-event-sub-info"> <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div> </div> <div class="am-event-sub-info"> <div><img src="">February 27th, 2021 11:30 am - 1:00 pm</div> </div> </div> <div class="am-event-info"> <div class="am-event-sub-info"> <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div> </div> <div class="am-event-sub-info"> <div><img src="">February 28th, 2021 11:30 am - 1:00 pm</div> </div> </div> <div class="am-event-info"> <div class="am-event-sub-info"> <div class="am-event-sub-info-capacity"><img src=""> Capacity: 0 / 100</div> </div> <div class="am-event-sub-info"> <div><img src="">March 1st, 2021 11:30 am - 1:00 pm</div> </div> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM