<table id="eqtable"><tr><td>d</td><td>fds</td></tr></table><input type="button" onclick="testeq()" value="测试eq" />
<script type="text/javascript">
function testeq()
{
var s=1;
alert($("#eqtable").find("tr").find("td:eq('"+s+"')").text());
}
</script>
测试环境:
ie6.0 无论变量的值怎么改变。弹出都是:d
firefox10.0 无论变量的值怎么改变。弹出都是:空
因此我感觉eq中跟变量还是不行的!

解决方案 »

  1.   

    eq selectorversion added: 1.0jQuery(':eq(index)')
    index
    从 0 开始计数.
    选择一个给定索引值的元素。(从 0 开始计数)这种索引相关的选择器(:eq(), :lt(), :gt(), :even, :odd)过滤他们前面的匹配表达式的集合元素。他们缩小匹配元素的顺序范围。例如,如果第一个选择器使用类选择器( .myclass )进行匹配,四个元素返回,这些元素是给定索引是0到3。请注意,由于JavaScript数组使用基于0的索引 ,这些选择器也是如此。这就是为什么$('.myclass:eq(1)')选择器选择文档中第二个MyClass类的元素,而不是第一个。与此相反,:nth-child(n)是基于1的索引的,以符合CSS规范。
      

  2.   

    alert($("#eqtable").find("tr").find("td:eq("+s+")").text());
    这样是可以的