如何为HTML属性/选择器创建全局名称空间或变量
How to create global namespaces or variables for HTML attributes/selectors?
我正在尝试将选择器设置为全局变量或命名空间。。我真的不确定这是不是正确的术语,或者我是否正确地处理了这个问题。
我希望能够做以下事情。。。
$.namespaceA = $('#myFirstDiv');
$.namespaceB = $('#mySecondDiv');
function myFirstFunction(){
$.namespaceA.hide();
$.namespaceB.css();
}
function mySecondFunction(){
$.namespaceB.show();
}
这是我想如何使用它们的一个非常基本的例子。基本上,最终目标是设置一组全局选择器,这些选择器可以通过多个函数轻松使用。我不知道这是正确的还是理想的,这就是我问的原因。提前谢谢。
为什么不简单地生成全局var?(它们可以毫无问题地保存jQuery包装集)
// When creating variables holding wrapped sets it is common naming to have
// a $ following it (I find this rather annoying, since you can't easily double click
// on the var, in order to copy/paste it etc, so I always use _ underscore (personal preference)
var _div1 = $('#myFirstDiv'); // you will see a lot of people do div1$
var _div2 = $('#mySecondDiv'); // or div2$ (signifying the jQuery wrapped set)
_div2.hide();
//These could be used within multiple functions etc... No need for namespaces here!
function Whatever () {
console.log(_div1);
_div1.css('background', '#000');
}
$('#linkTrigger').on('click', function () {
Whatever();
_div2.fadeIn();
});
jsFiddle演示
$.nameSpaceHere
更适合于尝试扩展-jQuery并添加自己的某种实用程序函数的情况。
类似于mcpDESIGNS:
http://jsfiddle.net/nqrvf/
<div id="myFirstDiv">first</div>
<div id="mySecondDiv">second</div>
var namespaceA = $('#myFirstDiv');
var namespaceB = $('#mySecondDiv');
$("#myFirstDiv").click(function() {
namespaceA.hide();
});
$("#mySecondDiv").click(function() {
namespaceA.show();
});
您可以在不使用"var"关键字的情况下声明全局变量。
div = $('#myFirstDiv');
我们可以在任何函数中声明变量it,它充当全局变量。
相关文章:
- 如何为HTML属性/选择器创建全局名称空间或变量
- 用自定义javascript全局命名空间替换窗口
- 从html文件中的脚本标记调用非全局命名空间函数
- 正在测量全局命名空间的污染
- 带有 jquery、全局命名空间的变量的 $ 前缀
- jQuery 函数的全局命名空间问题
- 使用require.js后,如何通过简单的脚本引用访问jquery全局命名空间
- 如何在javascript模块中包含jquery而不与全局名称空间冲突
- 如何在不污染全局命名空间的情况下共享常用的jquery函数
- Firefox Bookmarklet:向全局命名空间公开函数
- 使用RequireJS定义全局命名空间
- js事件循环是否意味着可以为临时暂存空间使用全局变量
- 如何在不让web组件的原型进入全局命名空间的情况下维护它们之间的依赖关系
- javascript中的关键字THIS作为全局命名空间
- 检查全局命名空间中是否存在没有备用名称的变量
- javascript 全局命名空间是否在每次完整回发时被清除
- setTimeout 而不会污染全局命名空间
- 将向量从全局空间转换为three.js中的局部向量
- 如何将匿名函数中定义的局部变量公开到全局空间
- 如何在客户端Web上用JavaScript打破全局空间