Как передать функцию a_href = $(this).attr('href');
значение глобальной a_href
, сделать a_href="home"
JQuery сделать глобальную переменную
ответ
Ваш код выглядит отлично, за исключением возможности того, что если переменная декларация внутри обработчика чтения dom, то это не будет глобальная переменная ... это будет переменная закрытия
jQuery(function(){
//here it is a closure variable
var a_href;
$('sth a').on('click', function(e){
a_href = $(this).attr('href');
console.log(a_href);
//output is "home"
e.preventDefault();
}
})
Чтобы сделать переменную глобальной, одно решение, это объявить переменную в глобальной области
var a_href;
jQuery(function(){
$('sth a').on('click', function(e){
a_href = $(this).attr('href');
console.log(a_href);
//output is "home"
e.preventDefault();
}
})
другой, чтобы установить переменную как свойство объекта окна
window.a_href = $(this).attr('href')
Почему консоль печати undefined
Вы получаете вывод как undefined
, потому что, хотя переменная объявлена, у вас нет initia lized его значением, значение переменной устанавливается только после нажатия на элемент a
до того момента, когда переменная будет иметь значение undefined
. Если вы не объявляя переменную будет бросать ReferenceError
Спасибо лот, отметит его :-) – olo
Я знаю, что это старо, но человек это помогло мне. благодаря –
установить переменную в окне:
window.a_href = a_href;
Вы можете избежать декларации глобальных переменных, добавляя их непосредственно к глобальному объекту:
(function(global) {
...
global.varName = someValue;
...
}(this));
Недостатком этого метода является то, что globa.varName не будет существовать до тех пор, пока эта строка кода не будет выполнена, но с ней можно легко обойтись.
Возможно, вы также рассмотрите архитектуру приложения, в которой такие глобальные таблицы хранятся в закрытии, который является общим для всех функций, которые им нужны, или как свойства подходящего объекта хранения данных.
- 1. JQuery делает глобальную переменную
- 2. Jquery обрабатывать глобальную переменную
- 3. OpenCart: Как сделать глобальную переменную?
- 4. Сделать глобальную переменную из вар
- 5. Как создать JQuery глобальную переменную
- 6. Установить глобальную переменную в jQuery
- 7. обновить глобальную переменную в jquery
- 8. jQuery - сделать глобальную переменную доступной для нескольких плагинов
- 9. Сделать глобальную переменную из другого func
- 10. Как сделать глобальную переменную в файле конфигурации
- 11. Как сделать глобальную функцию и переменную javascript?
- 12. Как сделать переменную глобальную в этом случае?
- 13. Можно ли сделать глобальную переменную в JAVASCRIPT?
- 14. Как сделать глобальную переменную в yii
- 15. Как сделать MyDBHelper как глобальную переменную?
- 16. Как сделать глобальную переменную в мс доступ
- 17. Как сделать глобальную переменную видимой вне события
- 18. Как инициализировать глобальную переменную
- 19. Можно ли динамически объявлять переменную в jquery как глобальную переменную?
- 20. Как использовать глобальную переменную с jquery?
- 21. Установить глобальную переменную onclick в JQuery
- 22. jquery callback не использует глобальную переменную
- 23. Как передать переменную JQuery в глобальную
- 24. Javascript и JQuery, определяющие глобальную переменную?
- 25. передать глобальную переменную в функцию jquery
- 26. Установить глобальную переменную внутри jquery-ui slider?
- 27. Как сохранить глобальную переменную в JQuery?
- 28. Как установить глобальную переменную в JQuery/javascript
- 29. AJAX не переписывает глобальную переменную JQUERY
- 30. Django замените глобальную переменную
Да, это выглядит очень хорошо. – Ryan
Он должен работать так, как вы ожидаете. – PSL
проблема только в том случае, если 'var a_href' находится внутри обработчика dom. ... объявление переменной mush должно находиться в глобальном пространстве или использовать' window.a_href = $ (this) .attr ('href') ' –