计算表格在body元素内的长度

时间:2014-12-18 17:28:08

标签: javascript jquery html

我有一个页面即将出现:

<html<head></head><body><table><tr><td><table><table></td></tr></table><table></table><table></table></body></html>

现在上面的页面有3个表,我正在尝试计算一个body元素内的表,我使用的是长度来计算,但它给了我无效的结果

alert($('#data').find("table").length);
if ($('#data').find("table").length <= 2) {
    $('#data').find("table:first").remove();
$('#data').find("table:last").remove();
}

它给了我85,这是错误的,得到这个的正确方法是什么:

2 个答案:

答案 0 :(得分:0)

请参阅下面的示例并根据需要进行调整。

$( document ).ready(function() {

  var n = $( "table" ).length;
 
  $( ".table-count" ).text( "There were  " + n + " Tables but the first and last are hidden"); 
  // kill the line above if you don't want the count output
  
  if($('table').length >= 3 ) { 
  // The above says; if there 3 or more tables, execute the line below
         $('table:first,table:last').hide();  
	}			 
});
table {
  height: 100px;
  width: 100px;
  background-color: green;
  display: inline-block;
  margin: 10px;
  }

.table-count {
  font-size: 24px;
  font-weight: bold;
  color: red;
  margin: 10px;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<table></table> 
<table></table> 
<table></table>




<div class="table-count"></div><!-- End Table COunt -->

注意让你解释;我不认为 if 条件是必要的,你可以只做下面这样的事情,第一个和最后一个将永远隐藏。

$('table:first,table:last').hide(); // Adjust as needed

答案 1 :(得分:-1)

这将获得正文中的表格数量。

var numTables = $('body table').length;
alert(numTables);

编辑:要获取某个元素中的所有表,请将正文选择器更改为相应的类或ID等选择器。