Javascript 如何将变量传递到jQuery查询中?

Javascript 如何将变量传递到jQuery查询中?,javascript,jquery,variables,Javascript,Jquery,Variables,出于某种原因,这是可行的: var oldText = $("#tayke li:eq(" + theIndex + ")" ).text(); 但这并不是: var tayke_li = "#tayke li:eq(" + theIndex + ")" var oldTest = $( tayke_li ).text(); 注意:索引是一个整数。如果将分号放在第行末尾,会有什么区别: var tayke_li = "#tayke li:eq(" + theIndex + ")"; //

出于某种原因,这是可行的:

var oldText = $("#tayke li:eq(" + theIndex + ")" ).text();
但这并不是:

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

注意:索引是一个整数。

如果将分号放在第行末尾,会有什么区别:

var tayke_li =  "#tayke li:eq(" + theIndex + ")"; //<---
另外,尝试使用
string()
将索引显式转换为字符串。您是否仔细检查了tayke_li中存储的内容

需要分号吗?


它是双向的。我重做了一遍,效果很好。 检查索引变量的更改和范围。尝试将其替换为硬编码1

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

试试看

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


啊,只是一个打字错误。尽管刚刚尝试了var-tayke_-li=“#tayke-li:eq(“+String(theIndex)+”),但没有什么区别;没有运气
var tayke_li=“#tayke li:eq(“+theIndex.toString()+””)
什么是警报(“#tayke li:eq(+theIndex+”)”);给你?达曼,还是不工作。James,它给了我#tayke li:eq(3)(当我点击第三个列表项时)你有
在第2行之前丢失,或者这只是一个输入错误?与第一个输入错误相比,另一个输入错误是oldText变成了oldTest(x->s)。如果你提醒它,看看它是否有效,它将失败。当你说它不起作用时,它只是没有选择你想要的东西,还是代码抛出了一个错误?哇,加布,很好。我是个白痴。我想就是这样。它现在似乎起作用了。编辑:我不太熟悉堆栈溢出,所以我不知道这是否允许,但如果你用这个回答做出正式回答,我会将它标记为接受。使用像WebStorm这样的好IDE,你会在未使用的变量和许多其他特性下面划线。对于专业的javascript开发人员来说,这是值得的。oldText!=oldTest是唯一一个解释,为什么它不应该在IMHO;)但这不是我的答案。
var oldText = $("#tayke li:eq("+parseInt(theIndex)+")").text();
var oldText = $("#tayke li").eq(theIndex).text();