Javascript 下一节课
你能帮我吗?JS不是我的领域。。 我想在td之前的元素后面添加td类。 我在表中有以下代码: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
<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元素+元素选择器”?()