Pasar un var a jQuery externa
Pregunta
¿Cómo puedo escribir
var menu = $('.something');
y utilizarlo en un js externos presentar de esta manera:
$(menu).attr("class", "active");
También he intentado declarar el archivo externo de JS después de que el código en línea y no va a trabajar.
Solución
Mientras se define menu
antes de importar el archivo externo de JS que hace referencia a ella, no veo por qué no funcionaría. Como:
<script type="text/javascript">
menu = $('.something');
</script>
<script type="text/javascript" src="/js/fileThatReferencesMenu.js"></script>
deis una oportunidad.
Otros consejos
No utilice la palabra clave var
. Esto hará que la variable global.
No es una idea muy buena, sin embargo; Ya que se rompe el espacio de nombres global (y por lo tanto puede crear problemas si tiene varios archivos JavaScript de diferentes orígenes echar a perder el espacio de nombres global y la sustitución de variables de cada uno).
Una solución más limpia sería la creación de un objeto global con un nombre muy singular, y luego añadir propiedades a la misma. Por ejemplo:
MyProject = {};
MyProject.menu = $(".something");
A continuación, en otro lugar:
$(MyProject.menu).attr("class", "active");