Jump to content


Photo

Pegar Link Dentro De Div


  • Faça o login para participar
8 replies to this topic

#1 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 02/01/2009, 01:30

Ae galera, blz?

seguinte..
to listando dados do banco de dados.. são arquivos pra download
os dados são o seguinte
titulo, foto e descrição
então tenho 3 divs.. uma pra cada item
quero que o usuário ao passar o mouse por algum arquivo, todos os dados dele (foto, descrição e titulo) fiquem com um fundo cinza
ok, até aí tudo bem, então fiz a seguinte estrutura html

<div class="listPai">
<div class="listTitulo"><a href="linkDinamico">Título</a></div>
<div class="listFoto"></div>
<div class="listDesc"></div>
</div>

e aí fiz esse js
$(document).ready(function() {
	$("#listaArquivos > div").hover(function() {
	$(this).addClass("listHover");
	}, function() {
	$(this).removeClass("listHover");
	});
});

mas, eu quero também, qe além disso, quando o usuário clicar, ele vá pro link certo daqele determinado arquivo.. quero que tudo seja um link e não somente o titulo
antes eu tava fazendo isso tudo com table.. aí eu colocava o onclick na table, e mandava pro link, mas pra isso usava js obstrusivo

alguém tem alguma idéia de como eu possa fazer isso?!
de uma forma certa e organizada?

Edição feita por: Henderson, 02/01/2009, 01:53.


#2 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 02/01/2009, 11:49

Não sei se vai funcionar e se é isso mesmo que você quer, mas vamos lá.

Você pode pegar o href de cada titulo e colocar um (on)click na div .listPai, que é a div que pega todas as outras.
var l = $(".listTitulo a").attr("href");
		$(".listPai").click(function(){
			window.location = l;
		})

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#3 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 02/01/2009, 16:05

ops, não funcionou não..
ele pega sempre o link do primeiro item da lista desse jeito
eu preciso que ele pegue o link do elemento clicado

do jeito que tá o código ele pega sempre o primeiro!
tendeu?


aproveitando o tópico..
no IE isso não tá funcionando
nem esse code, nem o de mudar a cor do fundo qe to fazendo assim
$(document).ready(function() {
	$("#listaArquivos > div").hover(function() {
	$(this).addClass("listHover");
	}, function() {
	$(this).removeClass("listHover");
	});
});

algm sabe pq?!

Edição feita por: Henderson, 02/01/2009, 16:08.


#4 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 02/01/2009, 21:23

Você testou com o que eu postei ou com aquele script que você postou aí? Em qual navegador ele pega só o primeiro link?

Por que você não deixa o caminho mais direto para as divs?
$("#listaArquivos > div").hover
O #listaArquivos é uma div que engloba as outras, certo? E o .listPai é uma div que está dentro da div #listaArquivos e que e engloba as informações das listas. E existe outras div .listPai, certo?
Não é melhor adicionar o hover direto na div .listPai?
$(".listPai").hover

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#5 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 03/01/2009, 03:39

eu testei com o código que você disse..
e ele pega sempre o primeiro

e se pensar bem, faz sentido, porque veja
<div class="listPai">
<div class="listTitulo"><a href="linkDinamico">Título</a></div>
<div class="listFoto"></div>
<div class="listDesc"></div>
</div>

var l = $(".listTitulo a").attr("href");
		$(".listPai").click(function(){
			window.location = l;
		})

pelo html, o link tá dentro da div listPai, certo?
pelo código js, ele pega um determinado link.. dentro da div .listPai
qual link? o primeiro..
aí dps, independende da div que eu clicar, ele vai executar a segunda linha desse código.. e vai mandar pro link que o código da primeira linha pegou, certo?
então.. teria que pegar esse valor do link, dps do onclick, porque ele tem qe ser referente a div clicada, certo??

e testei no firefox, ie6 e ie7
nos ie, nem o efeito de cor funcionou
não sei porque
ouvi um cara em outro forum dizer que eram as diretrizes de segurança do ie, mas não sei..
não sei nem como modificar esse código qe postei
vou tentar deixar o link mais direto como vc disse, mas não sei como resolver

mas enfim, esse é o menor dos meus problemas
o principal é esse aí do click..

#6 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 03/01/2009, 22:18

Verdade, verdade. Eu que fiz um teste errado aqui. :P Veja se assim vai:
$(".listTitulo a").each(function(){
			var l = $(this).attr("href");
			$(this).parents(".listPai").click(function(){
				window.location = l;
			})
		})

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#7 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 04/01/2009, 17:14

ah.. valeu! isso mesmo! haha
mas no ie continua sem funcionar! =\
não sei o qe é!!!

não tá funcionando nem o eveito hover, nem esse click..

#8 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 04/01/2009, 17:27

Já testou em outro computador com IE? Ou então faz um script simples com esses eventos pra ver se no seu IE funciona.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 04/01/2009, 18:18

vou testar em outro computador..
estranho que eu tenho um menu que utiliza esses mesmo efeitos.. e tá tudo certo.. funcionando normal
mas esses não
e nem erro dá!

vou pedir pra alguém testar pra mim, ver o qe qe dá!




1 user(s) are reading this topic

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

IPB Skin By Virteq