Foros del Web » Programando para Internet » Jquery »

JQuery: Realizar una acción sobre el resto de elementos

Estas en el tema de JQuery: Realizar una acción sobre el resto de elementos en el foro de Jquery en Foros del Web. Buenas. A ver su me pueden ayudar a conseguir esto: Tengo por ejemplo estos divs: <div class="brc">1</div> <div class="brc">2</div> <div class="brc">3</div> <div class="brc">4</div> Lo que ...
  #1 (permalink)  
Antiguo 04/02/2010, 08:02
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años, 1 mes
Puntos: 4
JQuery: Realizar una acción sobre el resto de elementos

Buenas. A ver su me pueden ayudar a conseguir esto:

Tengo por ejemplo estos divs:
<div class="brc">1</div>
<div class="brc">2</div>
<div class="brc">3</div>
<div class="brc">4</div>

Lo que quiero es que al pulsar uno de los divs se realice una acción sobre todos los divs con la clase "brc" excepto en el div donde se ha pulsado.

Puede que se haga con .siblings(), pero no me sale.
  #2 (permalink)  
Antiguo 04/02/2010, 08:18
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

Código HTML:
<html><head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('.brc').click( function(){
        $(this).css('color', 'blue').siblings().css('color', 'red');
    });
});
</script>
</head>
<body>
    <div class="brc">1</div>
    <div class="brc">2</div>
    <div class="brc">3</div>
    <div class="brc">4</div>
</body>
</html> 
  #3 (permalink)  
Antiguo 04/02/2010, 09:15
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

Creo que tambien se puede especificar div.brc dentro del metodo .siblings:

Cita:
.siblings("div.brc")
Me gustaría también que probaras esto:

Cita:
$('.brc').click( function(){
$("div.brc").not($(this)).css('color', 'red');
});
... solo para saber si funciona.
  #4 (permalink)  
Antiguo 04/02/2010, 09:20
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

Gracias a los 2

Ahora tengo otra duda. Si lo tengo de la siguiente forma y al pulsar en un div de arriba, quiero que todos los de abajo cambien excepto el que tenga el mismo numero que el que he pulsado arriba, ¿cómo lo haría?

Por ejemplo: pulso en el 2 de arriba y quiero que el 1, 3 y 4 de abajo cambien de color.

<div id="cont1">
<div class="brc">1</div>
<div class="brc">2</div>
<div class="brc">3</div>
<div class="brc">4</div>
</div>
<div class="brc">1</div>
<div class="brc">2</div>
<div class="brc">3</div>
<div class="brc">4</div>
  #5 (permalink)  
Antiguo 04/02/2010, 09:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

¡Solucionado! he utilizado el modo que ha propuesto mayid

¡Gracias!
  #6 (permalink)  
Antiguo 04/02/2010, 10:26
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

como seleccionas el de abajo también? postea el código
  #7 (permalink)  
Antiguo 04/02/2010, 14:26
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

El de abajo al final no lo he conseguido. Al final lo he hecho de la primera forma.
  #8 (permalink)  
Antiguo 04/02/2010, 16:44
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: JQuery: Realizar una acción sobre el resto de elementos

puede ser algo asi

Código HTML:
<html><head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('.brc').click( function(e){
        var index = $(this).index();
        $('#buscar>div').each( function (i, val){
            $(val).find('div:eq('+index+')').css('color', 'red').siblings().css('color', 'blue')
        });

    });
});
</script>
</head>
<body>

<div id="buscar">
    <div id="cont1">
        <div class="brc">1</div>
        <div class="brc">2</div>
        <div class="brc">3</div>
        <div class="brc">4</div>
    </div>
    <div id="cont2">
        <div class="brc">1</div>
        <div class="brc">2</div>
        <div class="brc">3</div>
        <div class="brc">4</div>
    </div>
</div>

</body>
</html> 

Etiquetas: elementos, realizar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.