¿Puedo utilizar la función de datos () para almacenar un elemento dom (o un elemento jQuery) en otro elemento? (Consulte el código a continuación)En jQuery, ¿puedo almacenar elementos usando .data() en otro elemento para una recuperación rápida?
¿Lo almacena por valor o como referencia? ¿Es una buena práctica?
Quiero ser capaz de encontrar rápida y fácilmente el elemento esclavo (véase el código de abajo) de un elemento principal, así:
$slave = $('.some .path .to .slave');
$master = $('.some .path .to .master');
$master.data('slave', $slave);
$master.click(function(){ $(this).data('slave').toggle() });
(obviamente, el código es estúpida, pero estoy realmente . bucle a través de una gran cantidad de elementos de maestro y esclavo)
Supongo que ni una referencia ni una copia profunda del DOM, pero un objeto jQuery que tiene un montón de cosas y tal vez algunas referencias a objetos DOM. – david
(¿Qué es una variable que hace referencia a un objeto jQuery si no es una referencia?) –
Sí, pero mantener una referencia a un objeto mantendría todo el objeto jquery en el alcance, ¿no? no es solo una referencia a un nodo dom que ya existiría, supongo. – david