Показать сообщение отдельно
  #17 (permalink)  
Старый 25.03.2019, 10:26
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

Вот теперь вопрос про селекторы. Попробую объяснить. Есть 2 таблицы (id='table3') и (id='opas') В первой 2 столбца, во второй 3. Выполняю подсветку времени рейсов, в первой все работает, во второй подсвечивается и третий столбец, а он не нужен. Исключаю его из выборки ;not(nth-child(3). И теперь в первой таблице подсвечивается значение, совпадающее со значением в первой... Вот сам код. Понимаю, что он кривой, прошу указать явную ошибку...
код:

function clock() {
var d = new Date();
var day = d.getDate();
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();

month=new Array("января", "февраля", "марта", "апреля", "мая", "июня",
"июля", "августа", "сентября", "октября", "ноября", "декабря");
days=new Array("воскресенье", "понедельник", "вторник", "среда",
"четверг", "пятница", "суббота");

if (day <= 9) day = "0" + day;
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;

date_date = days[d.getDay()]+", "+day + " " + month[d.getMonth()] + " " + d.getFullYear() + " г. "
;
date_time = hours + ":" + minutes + ":" + seconds+" ";
date_hour=hours + ":" + minutes;
if (document.layers) {
document.layers.date.document.write(date_time);
document.layers.date.document.close();
document.layers.time.document.write(date_time);
document.layers.time.document.close();
}
else {
document.getElementById("date").innerHTML = date_date;
document.getElementById("time").innerHTML = date_time;
}

//таблица обычных рейсов
var arr = new Array();
$('#table3 td').each(function() {
arr.push($(this).text());
}) ;
arr.splice(arr.length-1, 1);

for (var i = 0; i < arr.length; i++) {
arr[i]=$.trim(arr[i]);
if(arr[i] > date_hour) break;

};

$('td:contains('+arr[i]+')').css({'background-color':'#CCFFCC'});

$('td:not(:contains('+arr[i]+'))').css({'background-color':'white'});
$('td:contains('+arr[i-1]+')').css({'background-color':'#99CCFF'});

$('#curtime').text(' Следующий рейс в '+arr[i]);
$('#curtimenow').text(' Выполняется рейс на '+arr[i-1]+' ');
if(arr[arr.length-1]<date_hour)
{$('#curtime').text(' Следующий рейс в '+arr[0])};
///
// Таблица рейсов с опасным грузом

var arr = new Array();
$('#opas td:not(:nth-child(3))').each(function() {
arr.push($(this).text());
}) ;
for (var i = 0; i < arr.length; i++) {
arr[i]=$.trim(arr[i]);
if(arr[i] > date_hour) break;
};
$('td:contains('+arr[i]+')').css({'background-color':'#CFF4CF'});
if(arr[i] <= date_hour) $('td:contains('+arr[i]+')').css({'background-color':'white'});;
//

//

setTimeout("clock()", 1000);
}
clock();
Ответить с цитированием