Estoy tratando de ocultar elementos con el mismo nombre de la clase (float_form), pero también estoy tratando de utilizar el siguiente script para mostrar que ellos (todos los de la float_form clase divs son inicialmente oculto). He mirado en un montón de jquery soluciones, pero me parece que no puede hacer ninguna de ellas trabajan para ello.

function show(a) {
    var e = document.getElementById(a);
    if (!e) 
        return true;

    if (e.style.display == "none") {
        e.style.display = "block"
    } else {
        e.style.display = "none"
    }
    return true;
}

Edición: lo Siento si no estaba claro, no tengo la intención de usar Jquery(y sé que esto no es jquery). Estoy buscando una manera de utilizar javascript para reconocer repite los nombres de clases que no están en estilo= display:none; sin comprometer la opción mostrar/ocultar ID de elemento, ya que hay un bucle con el div id como clave. El código html para que el div se ve como el de abajo, con {elemento.ID} siendo un bucle while.

 <div class="float_form" id="{item.ID}" style="display: none;"> 
El código tiene cero jQuery. JavaScript no jQuery!. Su muestra código selecciona un elemento de identificación, no por el nombre de la clase. Por último, el uso de document.getElementsByClassName, y el bucle a través de todos los elementos de la lista devuelta.
Vamos a añadir la etiqueta jQuery? Me contestó tanto de vainilla js y jQuery.
Incluso después de que su edición es muy, muy claro qué es lo que estás pidiendo\necesitan.
Bueno, eso es molesto, la gente quiere hacer su trabajo, y ni siquiera pasar el tiempo dicen lo que quieren. Sonar como una ayuda vampiro me

OriginalEl autor user1489970 | 2012-06-28

3 Comentarios

  1. 48

    javascript

    function toggle(className, displayState){
        var elements = document.getElementsByClassName(className)
    
        for (var i = 0; i < elements.length; i++){
            elements[i].style.display = displayState;
        }
    }
    
    toggle('float_form', 'block'); //Shows
    toggle('float_form', 'none'); //hides

    jQuery:

    $('.float_form').show(); //Shows
    $('.float_form').hide(); //hides
    +1, pero por desgracia getElementsByClassName sólo funciona en las últimas versiones de los navegadores.
    Él puede usar jQuery si él quiere, o implementar getElementsByClassName si a él le gusta. Se debe poner mucho más esfuerzo en sus preguntas, no me caso saber si realmente el uso de jQuery o no.
    Bueno, eso es molesto, la gente quiere hacer su trabajo, y ni siquiera pasar el tiempo dicen lo que quieren. Sonar como una ayuda vampiro me
    tienes razón, es frustrante, especialmente cuando se hacen una pregunta y regreso la próxima semana para revisar las respuestas, mientras que las personas que intentan resolver el problema están luchando el uno al otro.

    OriginalEl autor gdoron

  2. 4

    Si usted está buscando en jQuery, entonces es bueno saber que usted puede utilizar un selector de clase dentro de los parámetros de $ y llamar al método .hide().

    $('.myClass').hide(); //all elements with the class myClass will hide.

    Pero si es una palanca que está buscando, utilice .toggle();

    Pero aquí está mi opinión sobre un buen alternar sin usando jQuery:

    function toggle( selector ) {
      var nodes = document.querySelectorAll( selector ),
          node,
          styleProperty = function(a, b) {
            return window.getComputedStyle ? window.getComputedStyle(a).getPropertyValue(b) : a.currentStyle[b];
          };
    
      [].forEach.call(nodes, function( a, b ) {
        node = a;
    
        node.style.display = styleProperty(node, 'display') === 'block' ? 'none' : 'block';
      });
    
    }
    
    toggle( '.myClass' );

    Demo aquí (haga Clic en “Render” para ejecutar): http://jsbin.com/ofusad/2/edit#javascript,html

    OriginalEl autor 0x499602D2

  3. 0

    Tratar :

    function showClass(a){
     var e = [];
     var e = getElementsByClassName(a);
     for(i in e ){
        if(!e[i])return true;
    
        if(e[i].style.display=="none"){
           e[i].style.display="block"
        } else {
           e[i].style.display="none"
        }
     }
     return true;
    }

    demo : showClass("float_form");

    Porque el ID del elemento que está siendo utilizado para una variedad de bucle, tengo que mantener la getElementById. He intentado utilizar por separado con un oculto botón de entrada pero no funciona tampoco.
    se trata de una nueva función showClass(), sólo seguir show() función que ya tiene, y agregar esta
    Me hizo tratar de usar por separado (y de análisis de var e en el var f en la función original). Sólo la función original trabajado.

    OriginalEl autor mgraph

Dejar respuesta

Please enter your comment!
Please enter your name here