Javascript 下一节课

Javascript 下一节课,javascript,Javascript,你能帮我吗?JS不是我的领域。。 我想在td之前的元素后面添加td类。 我在表中有以下代码: <td><span class="day event">24</span></td> <td><span class="day">25</span></td> 24 25 我需要添加td类每次如果在td之前是类。事件 下一个td after.事件将是td类“afte

你能帮我吗?JS不是我的领域。。 我想在td之前的元素后面添加td类。 我在表中有以下代码:

<td><span class="day event">24</span></td>
<td><span class="day">25</span></td>
24
25
我需要添加td类每次如果在td之前是类。事件 下一个td after.事件将是td类“after event”

例如:

<td><span class="day event">24</span></td>
<td class="after-event"><span class="day">25</span></td>
24
25
我需要它工作,即使细胞之间有tr 谢谢

以下是WP插件的默认javascript:

   //Build calendar of a month from date
buildCalendar: function (fromDate, calendar) {
  var plugin = this;

  calendar.find('table').remove();

  var body = $('<table class="calendar"></table>');
  var thead = $('<thead></thead>');
  var tbody = $('<tbody></tbody>');

  //Header day in a week ( (1 to 8) % 7 to start the week by monday)
  for (var i = 1; i <= this.settings.days.length; i++) {
    thead.append($('<td class="day-name">' + this.settings.days[i % 7].substring(0, 3) + '</td>'));
  }

  //setting current year and month
  var y = fromDate.getFullYear(),
    m = fromDate.getMonth();

  //first day of the month
  var firstDay = new Date(y, m, 1);
  //If not monday set to previous monday
  while (firstDay.getDay() != 1) {
    firstDay.setDate(firstDay.getDate() - 1);
  }
  //last day of the month
  var lastDay = new Date(y, m + 1, 0);
  //If not sunday set to next sunday
  while (lastDay.getDay() != 0) {
    lastDay.setDate(lastDay.getDate() + 1);
  }


  for (var day = firstDay; day <= lastDay; day.setDate(day.getDate())) {
    var tr = $('<tr></tr>');
    //For each row
    for (var i = 0; i < 7; i++) {

      //  var td = $('<td><span class="day">' + day.getDate() + '<span class="room-price">12$</span>' + '</span></td>');
      var td = $('<td><span class="day">' + day.getDate() + '</span></td>');
      //if today is this day

      var ymd = day.getFullYear() + '-' + day.getMonth() + '-' + day.getDay();
      var ymd = this.formatToYYYYMMDD(day);
      //  console.log(ymd);
      if ($.inArray(this.formatToYYYYMMDD(day), plugin.events) !== -1) {
        //  console.log('found');
        td.find(".day").addClass("event");
        // tr.find(".test").addClass("event");
      }
      
      

      //if day is previous day
      if (day < (new Date())) {
        td.find(".day").addClass("wrong-day");
      }

      if (day.toDateString() === (new Date).toDateString()) {
        td.find(".day").addClass("today");
        td.find(".day").removeClass("wrong-day");
      }
      //if day is not in this month
      if (day.getMonth() != fromDate.getMonth()) {
        td.find(".day").addClass("wrong-month");
      }

      //Binding day event
      td.on('click', function (e) {
        // /alert('ok');
      });

      tr.append(td);
      day.setDate(day.getDate() + 1);
    }
    tbody.append(tr);
  }

  body.append(thead);
  body.append(tbody);

  var eventContainer = $('<div class="event-container"></div>');

  calendar.append(body);
  calendar.append(eventContainer);
}
//从日期开始构建一个月的日历
buildCalendar:函数(fromDate,calendar){
var plugin=this;
calendar.find('table').remove();
变量主体=$('');
变量thead=$('');
var tbody=$('');
//一周中的页眉日((1到8)%7从周一开始一周)

对于(var i=1;i如果您的
事件
类仅与您在第行发布的js代码一起添加:

  if ($.inArray(this.formatToYYYYMMDD(day), plugin.events) !== -1) {
    td.find(".day").addClass("event");
  }
只需在其后面添加以下行:

  if ($.inArray(this.formatToYYYYMMDD(day), plugin.events) !== -1) {
    td.find(".day").addClass("event");
    td.find(".day").parent().next().addClass("after-event");
  }
如果您必须在
td
上设置
event
类,并搜索同一
td
的下一个同级及其类,则将使用相同的逻辑。。。
$(“td”).find(.day”).addClass(“事件”);
$(“td”).find(“.day”).parent().next().addClass(“事件后”);
.event{
颜色:蓝色;
}
.事后*{
颜色:红色!重要;
}

24
25

请发布您尝试过的JS。您是否考虑过使用“CSS元素+元素选择器”?()