如何将变量传递给jQuery查询?

时间:2010-02-12 13:07:22

标签: javascript jquery variables

出于某种原因,这有效:

var oldText = $("#tayke li:eq(" + theIndex + ")" ).text();

但这不是:

var tayke_li =  "#tayke li:eq(" + theIndex + ")"
var oldTest = $( tayke_li ).text();

注意:theIndex是一个整数。

3 个答案:

答案 0 :(得分:1)

它有两种方式。我重做它并且它有效。 检查theIndex变量的变化和范围。尝试用硬编码1替换它

在问题中添加jQuery版本信息,浏览器规范也不错。

答案 1 :(得分:0)

如果你把分号放在那一行的末尾是否有任何区别:

var tayke_li =  "#tayke li:eq(" + theIndex + ")"; //<---

我已经设置了一个简单的例子,它运行良好:

alert($("#tab1").length);
var s = "#tab" + String(1); //alerts "1"
alert(s);  //alerts "#tab1"
alert($(s).length); //alerts 1

此外,尝试使用theIndexString()显式转换为字符串。您是否仔细检查了tayke_li

中存储的内容

需要分号吗?

Do you recommend using semicolons after every statement in JavaScript?

What is the consequence of this bit of javascript?

Should I use semicolons in JavaScript?

http://www.webmasterworld.com/forum91/521.htm

答案 2 :(得分:0)

var oldText = $("#tayke li:eq("+parseInt(theIndex)+")").text();

var oldText = $("#tayke li").eq(theIndex).text();