Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelo2605

[Resolvido] Uma variável para divs diferentes

Recommended Posts

Criei a seguinte variável:

 

var botao = $('#continentes ul li a');

 

Mas gostaria de incluir outra div dentro da mesma variável, já que ambas serão usadas para a mesma funcção.

 

Tentei isso mas não funcionou:

 

var botao = $('#continentes ul li a' , '#america_sul ul li a');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia usar um loop e uma array, dessa forma:

 

var botao = [ $('#continentes ul li a' ), $( '#america_sul ul li a') ];

for ( i in botao ) {
botao[i].//Aqui você coloca o que vai ser executado.
}

 

Não cheguei a testar, mas acho que vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seletor css:

var botao = $('#continentes ul li a, #america_sul ul li a');

ou ainda:

var botao = $('#continentes ul li a').add('#america_sul ul li a');

 

porém, eu vejo ai um problema de estrutura css/html.

Eu usaria uma classe, até para facilitar estilização e tudo mais..

Compartilhar este post


Link para o post
Compartilhar em outros sites

51L3N7 e William, obrigado pela ajuda.

 

Funcionou mas encontrei um problema: tenho uma função que usa .eq() com a ordem de determinada <li>

 

Como são várias <ul> diferentes, o código não sabe qual .eq() eu me refiro se usar uma variável para todas as <ul>

 

De qualquer forma, aproveito para perguntar outra coisa: essas <ul> são listas de continentes >> países >> estados.

 

Com exceção da lista de continentes, todas as outras ficam em display:none

 

A função para abrí-las é a seguinte:

 

botao.eq(0).click(function(){
var $this = $(this);
$('#america_sul').show('slow');
$this.css('font-weight','bold');	
});

 

Como faço para que a função faça um .hide() nas outras listas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não consegui entender bem pq você usa o .eq com o 0, mas você já ouviu falar do siblings ?

 

http://api.jquery.com/siblings/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criei essa função:

 

botao.click(function(e){
	event.preventDefault();
	var $this = $(this);
	var $nome = $this.attr('href');
	$nome.show('slow');
});

 

No href armazenei o nome da div que desejo abrir. Mas não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

lógico q não, pois $nome é uma string.

 

para procurar o objeto:

$( $nome ).show('slow');

Compartilhar este post


Link para o post
Compartilhar em outros sites

lógico q não, pois $nome é uma string.

 

para procurar o objeto:

$( $nome ).show('slow');

 

Então como eu faço?

 

Tentei:

 

botao.click(function(e){
	event.preventDefault();
	var $this = $(this);
	$this.attr('href').show();
});

 

mas tb. não deu

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça da forma que mostrei:

$( $nome ).show('slow');

 

isso se o teu href for do tipo: href="#id_da_div"

Compartilhar este post


Link para o post
Compartilhar em outros sites

quem é 'botao'?

 

alem disso, event não existe, mas sim e:

 botao.click(function(e){
       e.preventDefault();

 

 

aperte Ctrl+Shift+J no Firefox, e veja se aparecem erros no console.

Ao carregar a página, e ao tentar interagir com o script

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.