ПРИМЕЧАНИЕ. Пожалуйста, не отвечайте на вопросы JQuery, сначала нужно опустить Javascript.Выделение выбранных полей в динамически добавленных строках заставляет их исчезнуть
Итак, я добавил несколько строк в таблицу через insertRow (-1). Когда я пытаюсь найти эту таблицу через getElementById и меняю цвет фона поля, он отлично работает для первой добавленной строки: «даты [] .style.backgroundColor = '# FF0000';"
Но не для второй добавленной строки или после этого, они просто исчезают:
«даты [7] .style.backgroundColor = '# FF0000';
Я пытаюсь выделить текущий день (заменит цифры 4/7 переменной) Я не уверен, что происходит, может ли кто-нибудь пролить свет, пожалуйста?
Javascript
<script type="text/javascript">
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var hour = currentTime.getHours()
var min = currentTime.getMinutes()
//document.write(month + "/" + day + "/" + year)
var test = currentTime.getDay();
var day = currentTime.getDate()+1;
var month = currentTime.getMonth();
var full_year = currentTime.getFullYear();
var total_days = (daysInMonth(month,full_year));
var d=1;
function daysInMonth(month,year) {
return new Date(year, month, 0).getDate();
}
var temp = test+1;
for(i=0; i<5; i++){
var table = document.getElementById("calendar");
var row = table.insertRow(-1);
row.setAttribute("id", "rowClassName", 0);
for(c=1;c<8; c++){
if(d<test){
var newCell = row.insertCell(-1);
newCell.innerHTML = '0';
d++;
} else if ((temp-test)<=total_days){
var newCell = row.insertCell(-1);
newCell.innerHTML = (temp-test);
temp = temp+1;
if(temp==day){
var table1 = document.getElementById("rowClassName");
var dates = table1.getElementsByTagName('td');
dates[7].style.backgroundColor = '#FF0000';
}
}
}
}
HTML
<table id="calendar">
<tr>
<td>Mon</td>
<td>Tue</td>
<td>Wed</td>
<td>Thu</td>
<td>Fri</td>
<td>Sat</td>
<td>Sun</td>
</tr>
</table>
Если попытаться добавить 14 вместо 7 к этому коду, возникает та же проблема, она по-прежнему работает только в течение первых двух строк. – Genome314
А, я понял. Это происходит потому, что ячейка таблицы, которую вы пытаетесь ссылаться, еще не создана петлей. Вы должны установить красный цвет за пределами двух контуров. –
Ahhhhhhh thankyou. – Genome314