Digamos que tengo una variable,

var sticky_element = ".menu";

Y la siguiente línea de código:

jQuery(sticky_element).wrapInner('<div class="menu-inner"></div>');

¿Cómo puedo reemplazar el menu en class="menu-inner" con la variable sticky_element?

Parece que la siguiente solución no funciona. ¿Por qué?

$(sticky_element).wrapInner('<div class="' + sticky_element + '-inner"></div>');
-1
R3gi 9 may. 2016 a las 20:37

3 respuestas

La mejor respuesta

Mira tu declaración de variable.

var sticky_element = ".menu";

No es lo mismo que "menú", que está intentando sustituir por sticky_element. Más explícitamente

sticky_element = ".menu" != "menu"

Omita el período de su cadena variable definiendo

var sticky_element = "menu";

Para encontrar que esto funciona.

0
8protons 9 may. 2016 a las 17:40

Hazlo por separado, solo guarda la cadena actual en una variable como esta:

var sticky_element = "menu"; // or '.menu'
var string = '<div class="' + sticky_element + '-inner"></div>';
jQuery(sticky_element).wrapInner(string);
0
Lemayzeur 9 may. 2016 a las 17:48

Si cambia sticky_element de ".menu" a "menu", debería funcionar.

0
Andrew 9 may. 2016 a las 17:40