prototypejs css-selectors

prototypejs - Selector de prototipos: ejemplos simples



css-selectors (3)

Algunas cosas que agregaría.

$$(''.myClass'').each(function(d) { d.hide(); });

puede ser reemplazado con esto:

$$(''.myClass'').invoke("hide");

Además, tenga cuidado con su uso de $$ , dentro de una página con un dom grande generalmente es más rápido apuntar a un elemento padre con $ y luego usar select() para su selector

asi que

$$(''div#outer div#inner'') etc....

puede ser reescrito así:

$(''parent_of_inner_and_outer'').select(''div#outer div#inner'') etc....

Estoy empezando prototipo, estaba en jquery antes.

No puedo encontrar ejemplos fáciles en Internet sobre cómo:

  • Seleccionar todos los elementos que tengan el mismo ID en una página (lo estoy haciendo pero solo funciona para el primer elemento: $(''mydiv'').hide() )
  • Seleccionar un div que está contenido en otro div por su id.
  • ocultando todos los elementos que tienen clase myClass.

Como se mencionó anteriormente, no debería tener la misma identificación en una página más de una vez. Además de estar en contra de los estándares, es una receta para problemas potenciales ya que no sabes cómo reaccionará tu JavaScript. Utiliza clases en su lugar.

Seleccionar todos los elementos que tienen la misma clase de identificación en una página (lo estoy haciendo pero solo funciona para el primer elemento: $ (''mydiv''). Hide ())

Use $$ :

$$(''.myclass'')

Seleccionar un div que está contenido en otro div por su id.

Use $$ :

$$(''div#outer div#inner'')

ocultando todos los elementos que tienen clase myClass.

Use $$ , each() y hide()

$$(''.myClass'').each(function(d) { d.hide(); });

$$ es tu amigo.


Esto no es particularmente bonito, pero si te encuentras con una situación como la que tuve hace poco, donde podría haber varios ítems con la misma identificación en la página y no tienes la capacidad de cambiar eso, entonces algo como esto trabajo. En mi caso, al menos sabía que todos estaban en etiquetas de span.

var spans = $$(''span''); for (i = 0; i < spans.length; i++) { var span = spans[i]; if (span.id == ''add_bookmark_image_'' + id) { span.hide(); } if (span.id == ''is_bookmarked_image_'' + id) { span.show(); } }