Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2017, 23:57
Интересующийся
Отправить личное сообщение для Neo54213 Посмотреть профиль Найти все сообщения от Neo54213
 
Регистрация: 03.07.2017
Сообщений: 20

Перебрать каждую ячейку таблицы
Нужно проверить чтобы все ячейки таблицы имели один и тот же цвет.
Как получить свойство ксс я знаю, а вот как выбрать каждый элемент и сравнить его с цветом, например, первой ячейки первой строки я не знаю. В js я просто брал и массивом перегонял. А здесь как?
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2017, 00:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Neo54213,
http://api.jquery.com/each/
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2017, 00:33
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<html>
<head>
</head>
<body>
<table>
	<tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
	<tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
	<tr><td>rerer</td><td style='background-color:red;'>rerer</td></tr>
</table>

	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>

	$("table td").each(function(i){
 	if($(this).css("background-color") !== $("table td").eq(1).css("background-color")) alert('элемент'+i+' другого цвета');
	});

	</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2017, 00:53
Интересующийся
Отправить личное сообщение для Neo54213 Посмотреть профиль Найти все сообщения от Neo54213
 
Регистрация: 03.07.2017
Сообщений: 20

Спасибо за ответы. На всякий случай размещу как у меня получилось
var flag = 1;
    $('#array td').each(function(){
        var p = 0;
        if($(this).css('background-color') != $('#array td:first').css('backgroundColor')){
            flag = 0;
        }
    });
    if(flag == 1) {
        $('#array td').css('background-color', 'white');
    }
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2017, 01:12
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

не обязательно заново красить всю таблицу, можно закрасить тот элемент который другого цвета.
$('#array td').each(function(){
        var p = 0;
        if($(this).css('background-color') != $('#array td:first').css('backgroundColor')){
            $(this).css('background-color', 'white');
        }
    });
Ответить с цитированием
  #6 (permalink)  
Старый 04.07.2017, 01:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

j0hnik,
алгоритм такой: если все ячейки одного цвета, сделать их белого цвета.
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    var h = $("h2");
    $("table").each(function(indx, table) {
        var arr = $("td", table).get(),
            color = $(arr[0]).css("backgroundColor"),
            flag = arr.every(function(el) {
            return $(el).css("backgroundColor") == color
        });
        flag && $(arr).css({
            "background-color": "white"
        });
        h.eq(indx).text(flag ? "ready" : "wait")
    })
});
  </script>
</head>

<body>
<h2></h2>
<table>
  <tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
  <tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
  <tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
</table>
<h2></h2>
<table>
  <tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
  <tr><td style='background-color:red;'>rerer</td><td style='background-color:red;'>rerer</td></tr>
  <tr><td >rerer</td><td style='background-color:red;'>rerer</td></tr>
</table>

</body>
</html>

Последний раз редактировалось рони, 04.07.2017 в 08:23.
Ответить с цитированием
  #7 (permalink)  
Старый 04.07.2017, 02:57
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Рони, Ок!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод из таблицы в БД c помощью AJAX smart-create AJAX и COMET 4 29.12.2016 20:44
почему не обрабатываются события в динамически добавленых строках таблицы boris2000 Events/DOM/Window 2 10.11.2016 14:04
Не удается получить значение элемента таблицы при клике на соседнюю ячейку yakim Элементы интерфейса 5 07.04.2016 14:06
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Как вставить фото в ячейку таблицы с javascript shaman888 Общие вопросы Javascript 0 09.04.2011 23:13