Передайте переменную во внешний jQuery - PullRequest
1 голос
/ 21 июля 2009

Как мне написать

 var menu = $('.something');

и использовать его во внешнем файле .js следующим образом:

 $(menu).attr("class", "active");

Я также попытался объявить внешний js-файл после встроенного кода, и он не будет работать.

Ответы [ 2 ]

6 голосов
/ 21 июля 2009

Не используйте ключевое слово var. Это сделает переменную глобальной.

Хотя это не очень хорошая идея; Он портит ваше глобальное пространство имен (и, таким образом, может создавать проблемы, если у вас есть несколько файлов javascript из разных источников, которые портят глобальное пространство имен и переопределяют переменные друг друга).

Более чистое решение - создать глобальный объект с уникальным именем и добавить к нему свойства. Например:

MyProject = {};
MyProject.menu = $(".something");

Тогда где-то еще:

$(MyProject.menu).attr("class", "active");
1 голос
/ 21 июля 2009

Пока вы определяете menu перед импортом внешнего js-файла, который ссылается на него, я не понимаю, почему он не будет работать. Как:

<script type="text/javascript">
    menu = $('.something');
</script>
<script type="text/javascript" src="/js/fileThatReferencesMenu.js"></script>

Дайте этому попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...