在jquery中转义变量

时间:2014-10-02 21:36:17

标签: javascript jquery

我试图将一个变量作为索引传入,以设置一个带有一点jquery的活动行。我的变量存储正确,但似乎无法让jquery接受参数中的变量。

这就是我所拥有的:

$(this).find("td:eq('storeDex')").addClass("activeRow");

storeDex是变量,如果我放下一个正常的数字,它似乎工作正常,我想也许我需要逃避可变的一些如何,但我似乎无法弄清楚如何做到这一点。任何帮助将非常感激。谢谢!

2 个答案:

答案 0 :(得分:6)

来自jQuery:eq选择器文档http://api.jquery.com/eq-selector/

$( "td:eq( 2 )" ).css( "color", "red" );

所以我会在你的例子中省略单引号,结果如下:

$(this).find("td:eq(" + storeDex + ")").addClass("activeRow");

摘录示例

var storeDex = 2;
$(function () {
    $("td:eq(" + storeDex + ")").addClass("activeRow");
});
.activeRow {
  background-color:yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<table>
  <tr>
    <td>Table cell 1</td>
    <td>Table cell 2</td>
    <td>Table cell 3</td>
    <td>Table cell 4</td>
  </tr>
</table>

答案 1 :(得分:4)

您需要终止字符串,附加变量并使用另一个字符串完成jquery选择器。

$(this).find("td:eq('" + storeDex + "')").addClass("activeRow");