Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery自动打印行号_Javascript_Jquery - Fatal编程技术网

Javascript jquery自动打印行号

Javascript jquery自动打印行号,javascript,jquery,Javascript,Jquery,我有一个10行的表,是否可以根据表的大小将行号(从1到9,第一行是NO&title,第二行应该是1)打印到类为“sno”的td?以下是html: <table width="100%" border="1"> <tr> <td width="23%">No.</td> <td width="77%">Title</td> </tr> <tr> <td clas

我有一个10行的表,是否可以根据表的大小将行号(从1到9,第一行是NO&title,第二行应该是1)打印到类为“sno”的td?以下是html:

<table width="100%" border="1">
  <tr>
    <td width="23%">No.</td>
    <td width="77%">Title</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>

不
标题

结果应该是

<table width="100%" border="1">
  <tr>
    <td width="23%">No.</td>
    <td width="77%">Title</td>
  </tr>
  <tr>
    <td class="sno">1</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">2</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">3</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">4</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">5</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">6</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">7</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">8</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td class="sno">9</td>
    <td>&nbsp;</td>
  </tr>

不
标题
1.
2.
3.
4.
5.
6.
7.
8.
9

问题不是生成表,而是打印正确的目标编号

尝试使用simpleone

$('table tbody tr').not(":first").each(function(idx){
     $(this).children(":eq(0)").html(idx + 1);
});
试试这个:

$(document).ready(function(){
    $cells=$("table td.sno");
    for(var i=0;i<$cells.length;i++)
    {
        //  alert(i);
        $cells.eq(i).text(i);
    }
});
$(文档).ready(函数(){
$cells=$(“表td.sno”);

for(var i=0;i表行元素具有rowIndex属性,该属性是表的从零开始的序列号

因此,如果您有对单元格的引用,则可以使用:

var rowIndex = cell.parentNode.rowIndex;
如果表中有标题行,可能应该将它们放在ADTABLE部分,然后

您可以很容易地对“正文”部分中的行进行编号,例如:

<table>
  <thead>
    <tr>
        <td>head<td>head
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class="sno"></td>
      <td>...</td>
    </tr>
    <tr>
      <td class="sno"></td>
      <td>...</td>
    </tr>
  </tbody>
</table>

人头
...
...
因此,现在您可以执行以下操作:

window.onload = function() {
  var table = document.getElementsByTagName('table')[0];
  var rows = table.tBodies[0].rows;

  for (var i=0, iLen=rows.length; i<iLen; i++) {
    rows[i].cells[0].innerHTML = i + 1;
  }
};
window.onload=function(){
var table=document.getElementsByTagName('table')[0];
var rows=table.tBodies[0]。行;

对于(var i=0,iLen=rows.length;i,这里是JSFIDLE示例:

试试这个:

$(document).ready(function(){
    var i=1;

    $('.sno').each(function(){
        $(this).text(i);
        i++;
    });
});

表的大小意味着?你想打印所有
.sno
的数字吗?这里
.sno
只包含空格而不包含数字。表的大小是10。这在vanilla JavaScript和jQuery中都非常容易做到。你尝试了什么?@hk面试你看到下面的答案了吗?有解决方案。你错过了
:first
否则,它也将替换标题
No.
。这是非常低效的,在每个循环中,您将获得
$(“table td.sno”)
对象两次。更好的是,但是您应该只获得
$(…)
对象一次,然后对其进行迭代,以便执行类似
var$cells=$(“table td.sno”)的操作;
,然后
…;i<$cells.length;…
$cells[i]。文本(i)
或类似内容。
$(document).ready(function(){
    var i=1;

    $('.sno').each(function(){
        $(this).text(i);
        i++;
    });
});