Ir para o conteúdo
sliderf

Jquery copiar classes

Mensagens Recomendadas

sliderf

Boa Noite

Precisava de copiar uma classe existente num "filho" para o "pai" usando o jquery.

O HTML é o seguinte

<div class="flex-flexslider flexslider flexslider-processed" id="flexslider-1">
 <ul class="slides">
<li style="width: 100%; float: left; margin-right: -100%; position: relative; display: list-item;" class="flex-active-slide">
 <div class="container">
  <div class="sixteen columns">
	<div class="field-slide-imagem">	  
	  <div class="field-content-22"><img width="940" height="338" alt="" src="/slide/imagens/destaque.jpg"></div>
	</div>  
	<div class="field-title"><div class="transparency-titulo"></div>
	<div class="overlay-titulo">Titulo</div>
   <div class="transparency-subtitulo"></div>
   <div class="overlay-subtitulo">Subtitulo</div>
</div>
</div></div>
</div></li>
<li style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;" class="">
 <div class="container">
  <div class="sixteen columns">
 <div class="field-slide-imagem">
   <div class="field-content-23"><img width="940" height="338" alt="" src="/slide/imagens/imp-destaq.jpg"></div>  </div>  
   <div class="field-title">		<div class="transparency-titulo"></div>
   <div class="overlay-titulo">Titulo2</div>
  <div class="transparency-subtitulo"></div>
  <div class="overlay-subtitulo">Subtitulo</div>
 </div></div>
</div></li>
</ul><ol class="flex-control-nav flex-control-paging"><li><a class="flex-active">1</a></li><li><a class="">2</a></li></ol><ul class="flex-direction-nav"><li><a href="#" class="flex-prev">Previous</a></li><li><a href="#" class="flex-next">Seguinte</a></li></ul></div>

Este código é de um slideshow flexslider. O que preciso e que cada vez que a imagem se encontre activa que seja copiado a classe field-content-23 ou a field-content-22 para o selector li. O resultado seria

<li style="width: 100%; float: left; margin-right: -100%; position: relative; display: list-item;" class="flex-active-slide field-content-23">

Espero que me tenha explicado bem e que me consigo ajudar.

Obrigado,

Filipe

Editado por yoda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
malleus

Essa estrutura html está um bocado estranha mas o que pretendes, assumindo que tens acesso a um callback da transição para activo (que na pior das hipóteses existe no próprio plugin...será o método/secção de código responsável pela adição da classe "flex-active-slide") de um slide bastaria:

$('.flex-active-slide').addClass($('.flex-active-slide').find('img:first').parent('div:first').attr('class'));

A nível do callback ou do próprio plugin provavelmente terás acesso a algum tipo de variável de contexto ($(this),...) que te torne esta operação mais eficiente.

Antes de fazer isto provavelmente quererás retirar essa classe dos outros li's:

$('#slides').find('li').removeClass(); // assumindo que não tens lá outras classes como o teu código evidencia

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.