用文字和变量构建选择器?

时间:2010-10-15 21:23:29

标签: javascript jquery jquery-selectors

我有一个变量,其值与页面上的ID相同。当我这样做时:

var foo = 'value';
$('#' + foo).thing();

它不起作用。但这确实有效:

var foo = 'value';
var bar = '#' + foo; //'#value';
$(bar).thing();

如何在一行中构建该选择器?创建额外的单一用途变量似乎很浪费。

2 个答案:

答案 0 :(得分:1)

用户错误 - 我在变量中有一个'@'(在Twitter上工作),因此产生的ID是'#@ value',因为@是非法的。修正了,它现在正在运作。

答案 1 :(得分:0)

嗯。我从来没有遇到过这个问题。但也许您可以尝试在内部声明周围添加另一组括号:

$(("#" + foo)).something();

如果我不偏离轨道,这可能会强制javascript“计算”首先将内部括号传递给jQuery选择器函数。 Goog运气好......