Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Вопрос новичка о нахождений значений (https://javascript.ru/forum/jquery/77086-vopros-novichka-o-nakhozhdenijj-znachenijj.html)

Jimy 23.03.2019 13:37

А все-таки почему мой пример не работает? Почему не показывает значения типа "20:30"?
Ведь "20:30">"17:32" будет true. А показывает только "целые" значения. Подскажите, почему? (так, для интереса)

рони 23.03.2019 14:38

Jimy,
потому что "время сейчас" у вас скорее всего число??? , а сравнение со строкой.
alert("16:30" > "16");  //true
     alert("16:30" > 16);  //false

Jimy 23.03.2019 15:18

Вот, вроде работает:
var arr = new Array();
$('#table3 td').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'});

Jimy 23.03.2019 15:20

И еще вопросик вдогонку. Есть таблица с тремя td. А как в тот же массив получить значения только из первых двух, игнорируя значения в третьем?

рони 23.03.2019 16:01

Цитата:

Сообщение от Jimy
получить значения только из первых двух

Знаете ли вы селекторы? nth-child
https://api.jquery.com/lt-selector/

Jimy 23.03.2019 16:23

Благодарю за полезные ссылки. Буду изучать:)

Jimy 25.03.2019 10:26

Вот теперь вопрос про селекторы. Попробую объяснить. Есть 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();

Jimy 25.03.2019 10:32

Все, вопрос снят! Вот олень, ведь в коде css не были прописаны id таблиц!
Теперь работает!

рони 25.03.2019 10:32

Jimy,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.


Часовой пояс GMT +3, время: 17:56.