创建自定义变量名
Create custom variable names
我有一个方向性问题,我不太确定如何处理,所以这是一个征求意见的请求。
对于我正在工作的一个项目,我想组装"自定义"变量名。例如,假设我有这样一个html页面:
<div id="content">
<div id="variable"></div>
<div id="name"></div>
<div id="custom"></div>
</div>
现在我知道我可以得到id的jQuery与$('div').attr('id')
。这就是我的问题所在:
我想创建如下行:
var variable_name_custom = 'Hello world';
,其中var-name是通过获取div id生成的。(字符串div 1 +字符串div 2 +字符串div 3).
如果我现在把三个名字放在一起,我将得到字符串'variable_name_custom',但它将是一个变量的字符串值,而不是一个变量的名称。
这可能吗?
我不知道为什么你想做这样的事情,但是:
var varName = getName(); // will get you 'div1_div2_div3'.
window[varName] = 'Hello world';
alert(div1_div2_div3); // Hello World.
现在您可以访问您创建的div1_div2_div3全局变量。
看看这个小提琴
给你:http://jsfiddle.net/lotusgodkk/wd99s/
window[$('div').attr('id')+'_'+$('span').attr('id')+'_'+$('p').attr('id')] = 'Sample';
console.log(window[$('div').attr('id')+'_'+$('span').attr('id')+'_'+$('p').attr('id')]);
<div id="variable"></div>
<span id="name"></span>
<p id="custom"></p>
我认为你最好的办法是把var变成一个对象的属性。
names = {};
names[id1+'_'+id2+'_'+id3] = 'Hello world';
嗨,你可以使用Jquery的map函数
HTML代码
<div id="content">
<div id="variable"></div>
<div id="name"></div>
<div id="custom"></div>
</div>
Javascript
$(document).ready(function () {
var varname = $("#content > div").map(function () {
return this.id || null;
}).get().join("_");
window[varname] = "Hello World";
console.log("varname = "+varname);
console.log("value = "+window[varname])
});
看一看这提琴
希望有帮助
谢谢,Dhiraj
相关文章:
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 自定义指令模板中的AngularJS控制变量
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- css绑定中的自定义类名
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- AngularJS将变量绑定到自定义html属性
- Vue.js如何在定义API变量之前实现自定义过滤器
- 如何在 Aurelia(奥雷利亚)中访问自定义元素中的变量
- 清除 Javascript 中窗口对象中的自定义变量
- 使用javascript中的变量创建自定义URL
- 将此对象存储在自定义专用变量中
- 自定义角度过滤器提供TypeError.不能调用undefined,但变量已定义并有效
- 在自定义指令中角度设置新变量
- ng绑定html,变量名来自ng repeat,但在其他地方定义了变量
- 在递归循环javascript之后,为JSON键变量使用自定义HTML元素
- 通过 JavaScript 访问 CSS 自定义属性(又名 CSS 变量)
- AngularJS 模板变量在自定义指令中时不呈现
- 如何正确地将JavaScript变量插入自定义跟踪像素
- 创建自定义变量名
- 将ng-repeat变量传入自定义指令