Показать сообщение отдельно
  #9 (permalink)  
Старый 09.04.2011, 07:16
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

что значит пустая строка? то есть во всех ячейках строки ничего нет?
я б вообще вот так сделал
//ПРосто создаю таблицу (у тебя готовая вроде есть)
	var table = document.createElement("TABLE");
	
	for(var r = 0; r < 10; r ++){
		table.appendChild(
			function(){
				var tr = document.createElement("TR");
				for(var c = 0; c < 20; c ++){
					tr.appendChild(
						function(){
							var td = document.createElement("TD");
							td.style.padding = "10px";
							td.style.border = "1px solid #def";
							return td;
						}()
					);
				}
				return tr;
			}()
		);
	}
	
	//заполняю пару строчек (у тебя все есть уже)
	var nums = [3,6,9];
	for(var i = 0; i < nums.length; i ++){
		for(var c = 0, cl = table.rows[nums[i]].cells.length; c < cl; c ++){
			if(Math.random() > Math.random()) table.rows[nums[i]].cells[c].innerHTML =  c;
		}
	}
	
	
	document.body.appendChild(table);
	
	
	//и вот такой обработчик
	table.onclick = function(e){
		//определяем по ячейке какой строки кликнули
		var tr = function(event){
			return event.target || event.srcElement;
		}(e || window.event).parentNode;
		
		//если вдруг оказалось что кликнули не по ячейке а между ячейками в borderSpacing то выходим
		if(tr.tagName != "TR"){
			return false;
		}
		
		//проверяем все ячейки на наличие внутренностей
		//если ни в одной ячейке ничего нет в строке, то значит она пустая
		
		var matches = 0;
		for(var c = 0, cl = tr.cells.length; c < cl; c ++){
			//считаем пустые ячейки
			if(!tr.cells[c].innerHTML) {
				matches ++;
			}
		}
		//если все яячейки не были пустыми
		if(!(matches == tr.cells.length)){
			//красим
			tr.style.backgroundColor = "red";
		}
		return false;
		
	}
__________________
readOnly
Ответить с цитированием