创建自定义变量名称

时间:2014-05-02 08:17:25

标签: javascript jquery variables

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

对于我正在研究的项目,我想组装“自定义”变量名称。例如,假设我有这个html页面:

<div id="content">
    <div id="variable"></div>
    <div id="name"></div>
    <div id="custom"></div>
</div>

现在我知道我可以使用$('div').attr('id')在jQuery中获取id。这是我的问题所在:

我想创建类似这样的内容:

var variable_name_custom = 'Hello world';

通过获取div id生成var-name。 (string div 1 + string div 2 + string div 3)。

如果我现在将3个名称放在一起,我会得到字符串'variable_name_custom',但它将是变量的字符串值,而不是名称。

这可能吗?

4 个答案:

答案 0 :(得分:2)

我不知道你为什么要做这样的事情,但是:

var varName = getName(); // will get you 'div1_div2_div3'.
window[varName] = 'Hello world';
alert(div1_div2_div3); // Hello World.

现在您可以访问您创建的div1_div2_div3全局变量。

看看这个Fiddle

答案 1 :(得分:0)

在这里: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>

答案 2 :(得分:0)

我认为最好的办法是将var更改为对象的属性。

names = {};
names[id1+'_'+id2+'_'+id3] = 'Hello world';

答案 3 :(得分:0)

您好,您可以使用Jquery的地图功能

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])
});

看看这个fiddle

希望这有帮助

谢谢, DHIRAJ