使用jQuery将标签文本设置为行数

时间:2011-02-18 20:29:13

标签: jquery asp.net

这是我的代码,但没有任何反应。

$(document).ready(function() {
  var totalRows = $("#<%=GridView3.ClientID %> tr").length;
  document.getElementById('Label6').InnerHTML = totalRows;
});

这就是我最终使用

var rqnum = $("#<%=GridView3.ClientID %> tr").length - 1;
document.getElementById('rqnum').innerHTML = rqnum;

var oknum = $("#<%=GridView4.ClientID %> tr").length - 1;
document.getElementById('oknum').innerHTML = oknum;

var xlnum = $("#<%=GridView5.ClientID %> tr").length - 1;
document.getElementById('xlnum').innerHTML = xlnum;

var dynum = $("#<%=datalist1.ClientID %> tr").length / 3;
document.getElementById('dynum').innerHTML = dynum;

这样它会减去标题,但是,如果它为0,我怎么能这样做呢?不要减去-1,因为我不想要否定

3 个答案:

答案 0 :(得分:1)

尝试.innerHTML而不是.InnerHTML。确保始终使用正确的外壳。

此外,由于您正在使用jQuery,因此可以忽略.innerHTML,只需使用#Label6$.html()设置$.text()的值。

最后,请确保<%=GridView3.ClientID %>正在产生您期望的输出。

在评论中更新以下问题

如果您想忽略表格标题,则只能计算tr标记中的tbody元素:

<table id="myTable">
  <thead>
    <tr>
      <td>Column 1</td>
      <td>Column 2</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Foo</td>
      <td>Bar</td>
    </tr>
  </tbody>
</table>

<script>
  $(function(){
    $("#Label6").text( $("#myTable tbody tr").length );
  });
</script>

防止负数也很简单。您可以使用三元运算符来执行此操作:

var numRows = ( numRows < 0 ) ? 0 : numRows ;

在使用numRows变量之前执行此逻辑,它将阻止任何负数显示。显示的最小数字为0。

答案 1 :(得分:1)

innerHTML

或者如果你想使用jquery,你可以简单地这样做:

$("#Label6").text(totalRows);

答案 2 :(得分:1)

使用jQuery,我相信你应该能够这样设置:

$("#Label6").html(totalRows);