创建自定义变量名

Create custom variable names

本文关键字:变量名 自定义 创建      更新时间:2023-09-26

我有一个方向性问题,我不太确定如何处理,所以这是一个征求意见的请求。

对于我正在工作的一个项目,我想组装"自定义"变量名。例如,假设我有这样一个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