javascript - child - Prototipo equivalente a la función más cercana de jQuery.
jquery innerhtml (2)
¿Hay algún equivalente en Prototype para la función más cercana de jQuery?
http://api.jquery.com/closest/
Gracias
.next(''.className'')
o .next(''divId'')
También hay .previous()
, .down()
y .up()
, dependiendo de dónde se encuentre.
Puedes usar el método up
. No es del todo equivalente, ya que closest
también considera el elemento actual. Por lo tanto, primero debe probar el elemento seleccionado para ver si coincide con sus criterios, si no coincide, utilice el método up
:
jQuery:
return $(''#id'').closest(''li'');
Prototype:
var element = $(''id'')
return element.match(''li'') ? element : element.up(''li'');
}
Comparación:
.closest ()
- Comienza con el elemento actual.
- Viaja por el árbol DOM hasta que encuentra una coincidencia para el selector suministrado
- Devuelve un objeto jQuery que contiene cero o un elemento
.arriba()
- Comienza con el elemento padre.
- Viaja por el árbol DOM hasta que encuentra una coincidencia para el selector suministrado
- Devuelve un objeto Elemento extendido, o indefinido si no coincide
Puede extender fácilmente Prototype para incluir este método para todos los elementos, como por ejemplo:
// Adds a closest-method (equivalent to the jQuery method) to all
// extended Prototype DOM elements
Element.addMethods({
closest: function closest (element, cssRule) {
var $element = $(element);
// Return if we don''t find an element to work with.
if(!$element) {
return;
}
return $element.match(cssRule) ? $element : $element.up(cssRule);
}
});