var selector = ".datalist tr>td:lt(" + index + "):gt(" + index_start + ")";这里面的datalist是是不是只有表头有这个类?

解决方案 »

  1.   

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script src="../lib/jquery/jquery-1.9.1.js"></script>
    </head>
    <body>
    <div id='expandDetail'>click</div>
    <table width="400" border="1" class='datalist'>
      <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
        <td>6</td>
        <td>7</td>
        <td>8</td>
      </tr>
      <tr>
        <td>a1</td>
        <td>a2</td>
        <td>a3</td>
        <td>a4</td>
        <td>a5</td>
        <td>a6</td>
        <td>a7</td>
        <td>a8</td>
      </tr>
      <tr>
        <td>b1</td>
        <td>b2</td>
        <td>b3</td>
        <td>b4</td>
        <td>b5</td>
        <td>b6</td>
        <td>b7</td>
        <td>b8</td>
      </tr>
      <tr>
        <td>c1</td>
        <td>c2</td>
        <td>c3</td>
        <td>c4</td>
        <td>c5</td>
        <td>c6</td>
        <td>c7</td>
        <td>c8</td>
      </tr>
      <tr>
        <td>d1</td>
        <td>d2</td>
        <td>d3</td>
        <td>d4</td>
        <td>d5</td>
        <td>d6</td>
        <td>d7</td>
        <td>d8</td>
      </tr>
      <tr>
        <td>e1</td>
        <td>e2</td>
        <td>e3</td>
        <td>e4</td>
        <td>e5</td>
        <td>e6</td>
        <td>e7</td>
        <td>e8</td>
      </tr>
      <tr>
        <td>f1</td>
        <td>f2</td>
        <td>f3</td>
        <td>f4</td>
        <td>f5</td>
        <td>f6</td>
        <td>f7</td>
        <td>f8</td>
      </tr>
    </table>
    <script>
    $("#expandDetail").click(function(){
    var $a= $(".datalist");
    var $b = $a.find('tr');
    var data=[];
    var i=0;
    for(;$b[i];i++){
    data[i] = $.find('td',$b[i],[]);
    }
    //3-6
    var i=0;
    var result=[];
    for(;data[i];i++){
    $.merge(result,(data[i].slice(2,5)));
    }
    var $c = $().pushStack(result);
    $c.toggle();
    })</script>
    </body>
    </html>
      

  2.   

    优化一下
    var $x='';
    $("#expandDetail").click(function(){
    if($x == ''){
    var $a= $(".datalist");
    var $b = $a.find('tr');
    var data=[];
    var i=0;
    for(;$b[i];i++){
    data[i] = $.find('td',$b[i],[]);
    }
    //3-6
    var i=0;
    var result=[];
    for(;data[i];i++){
    $.merge(result,(data[i].slice(2,5)));
    }
    var $c = $().pushStack(result);
    $x = $c;
    }
    $x.toggle();
    })
      

  3.   


    必须要循环取每一行的td吗?.datalist tr>td 这样的选择器不是可以取到全部td吗?
      

  4.   

    可以。
    效率都是一样的,
    .datalist tr>td  也是按我那顺序取的,不过直接就连在后面,分列就不好处理。
      

  5.   


    改成你这样是可以的。谢谢.
    但是能不能帮我看看 ".datalist tr>td:lt(" + index + "):gt(" + index_start + ")";这样的写法错在哪里