避免在Jquery中使用硬编码值

时间:2015-02-24 11:27:34

标签: jquery

我有以下代码从关联数组中删除元素:

$.each(d.envlist,function(key,value) {
    $("#environment").find("option[value='staging']").attr('disabled','disabled');
    alert( key + ": " + value );
});

现在的要求是我希望传递一个变量,而不是硬编码“分段”。以上代码中的一部分。 它应该是在警报中打印的。

我该怎么做?

非常感谢。

2 个答案:

答案 0 :(得分:2)

只需将'staging'导出到变量中并连接它

即可
var optionValue = 'staging';

$.each(d.envlist, function(key,value) {
    $("#environment").find("option[value='" + optionValue + "']")
        .attr('disabled','disabled');

         alert( key + ": " + value );
    });

答案 1 :(得分:1)

您可以使用所需的值组合字符串变量,然后将其插入选择器:

var environment = 'staging'; // change this according to your environment
...find("option[value='"+ environment +"']");

也许超级简单(“hello world”风格)的例子有助于解释:

var name = 'ggwp';
alert( 'Hello' + name + ', how are you?' );
// Hello ggpw, how are you?

name变量被插入到警报使用的字符串中,因此用户将看到的最终消息在字符串中包含变量。

对于你的情况,我会假设这个environment变量声明你是否在舞台/ dev / production上运行在你的代码中的多个地方使用 - 为此 - 我建议放置这个的初始化变量在全局类型的位置,以便所有组件和模块都可以访问它。这样,您只需在一个位置更改变量即可更改应用程序环境。