如何a_href = $(this).attr('href');
值传递函数为全球a_href
,使a_href="home"
jQuery的使全局变量
7
A
回答
22
您的代码看起来不错,除了可能性,如果变量声明是一个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
,因为即使声明了变量,用一个值lized它,点击后a
元到那时变量的值将undefined
变量的值只设置。如果你不声明变量就会抛出一个ReferenceError
+0
谢谢很多,会打勾:-) – olo
+0
我知道这是旧的,但男人这帮了我。谢谢 –
0
设置变量的窗口:
window.a_href = a_href;
1
您可以通过直接将其添加到全局对象避免全局变量的声明:
(function(global) {
...
global.varName = someValue;
...
}(this));
这种方法的缺点是globa.varName将不存在,直到被执行的代码行,但就是可以被轻松的工作。
您也可以考虑应用程序架构,其中这样的全局变量共同给需要它们,或为合适的访问的数据存储对象的属性所有功能的封闭举行。
相关问题
- 1. jQuery全局变量
- 2. 全局变量jquery
- 3. 全局变量,Jquery的
- 4. jQuery的全局变量
- 5. jquery中的全局变量
- 6. jQuery的全局变量使用
- 7. 如何使用jQuery的全局变量?
- 8. jQuery - 简单全局变量
- 9. ajax全局变量与jquery
- 10. jQuery全局变量$ .post();
- 11. jQuery设置全局变量
- 12. jquery全局变量失败
- 13. jquery更新全局变量
- 14. jquery回调不使用全局变量
- 15. 全局变量的使用
- 16. 局部变量的全局变量
- 17. java全局全局变量和用户全局变量
- 18. 使用全局变量将全局变量递归到迭代
- 19. 全局变量
- 20. 全局变量。
- 21. 全局变量
- 22. 全局变量
- 23. 全局变量
- 24. 全局变量
- 25. 全局变量
- 26. 全局变量
- 27. 全局变量
- 28. 全局变量
- 29. 全局变量
- 30. 全局变量
是啊,这非常期待权。 – Ryan
它应该像你期望的那样工作。 – PSL
唯一的问题是,如果'VAR a_href'是DOM准备好处理程序内...变量声明玉米粥在全球空间或使用'window.a_href = $(本).attr(“href”属性)' –