Jump to content


Photo

Hierarquia Classe/elemento


  • Faça o login para participar
1 reply to this topic

#1 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 01/03/2008, 14:22

Tenho aqui uma TR clicável e com classes que são alteradas conforme eventos JS.

<TR onmouseover="this.className='overbr';" onmouseout="this.className='outbr';">

Em função de mudanças no sistema, agora as TDs desta TR em certos casos (quando tiver x valor na querystring - pelo php), vão receber uma classe para mudar seu background.

Isso resulta na não validade da minha classe em TR, visto que em função da hierarquia, o que eu definir na classe da TD vai ter valor em cima do que está definido no geral em minha TR.

Ou seja, a TR toda se ilumina com a imagem que defini na classe "overbr", enquanto aquela TD permanecerá sempre com o fundo definido na classe dela.

Edit:

Criei uma função aqui, que driblou o problema em todos os browsers. Mas caso alguém tiver outra idéia, não exite em postar aí... Não sei se foi a melhor das opções, tá de "quebra galho" por enquanto.

Basicamente ela captura todas as TDs de determinado TR, e quando tiver a classe ordem (classe da minha TD diferenciada/destacada), altera a classe para overbr. No evento onmouseout, recoloca a classe, para a TD continuar destacada.

Eu chamo a função nos eventos onmouseover e onmouseout da TR.

function cor_tr(x,act) {

var el = x.getElementsByTagName('TD');
var res = '';

if (act == "over") {

x.className = "overbr";

for (var ab=0;ab<el.length;ab++) {

	if (el[ab].className == "ordem") {
	el[ab].className = "overbr";
	}
}

} else {


x.className = "outbr";

for (var ab=0;ab<el.length;ab++) {

	if (el[ab].className == "overbr") {
	el[ab].className = "ordem";
	}
}


}
}

Abraços

Edição feita por: Firehalk, 01/03/2008, 21:27.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#2 gigabyte

gigabyte

    Turista

  • Usuários
  • 34 posts
  • Sexo:Não informado

Posted 08/03/2008, 17:14

Opa!!

Fala Firehalk!!!!


Eu particularmente usaria Nodes, isto é, colocaria um listener em todos os TR's e caso o className dele fosse igual ao over, aí eu alteraria todos os classNames dos TD's que estão dentro (childNodes).
+------------------------------------
+ ...Com quantos gigabytes
+ Se faz uma jangada um barco que veleje
+ Que veleje nesse infomar
+ Que aproveite a vazante da infomaré...
+------------------------------------




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq