当前位置:编程学习 > C#/ASP.NET >>

JavaScript中怎么统计表格<td></td>中<a><a/>的数量?

如题!
最近领导让我做个菜单,想要QQ样式的
我也在网上找到代码了!但是都是固定高度的,有的项里连接多时就底下的连接就不显示,有的项里连接少的就空着很多!所以我想做成能根据连接的多少来自动调节表格的高度的,现在的问题就是能不能统计一下表格里的连接的数量?代码是JavaScript写的!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>仿QQ导航菜单-</title>
<style type="text/css">
.titleStyle{background-color:#cfcf90;color:#0000ff;border-top:1px solid #FFFFFF;font-size:9pt;cursor:hand;}
.contentStyle{background-color:#f0fff0;color:blue;font-size:9pt;}
a{ color:blue; }
body{ font-size:9pt; }
</style>
</head>
<body>

<script language="JavaScript">
<!--
  var layerTop=0;        //菜单顶边距
  var layerLeft=0;       //菜单左边距
  var layerWidth=170;    //菜单总宽
  var titleHeight=25;    //标题栏高度
  var contentHeight=140;  //内容区高度
  var stepNo=10;         //移动步数,数值越大移动越慢

  var itemNo=0;
  runtimes=0;
  document.write('<span id=itemsLayer style="position:absolute;overflow:hidden;border:1px solid #808880;left:'+layerLeft+';top:'+layerTop+';width:'+layerWidth+';">');
  function addItem(itemTitle,itemContent)
  {
    itemHTML='<div id=item'+itemNo+' itemIndex='+itemNo+' style="position:relative;left:0;top:'+(-contentHeight*itemNo)+';width:'+layerWidth+';"><table width=100% cellspacing="0" cellpadding="0">'+
       '<tr><td height='+titleHeight+' onclick=changeItem('+itemNo+') class="titleStyle" align=center>'+itemTitle+'</td></tr>'+
       '<tr><td height='+contentHeight+' class="contentStyle">'+itemContent+'</td></tr></table></div>';
    document.write(itemHTML);
    itemNo++;
  }
  //添加菜单标题和内容,可任意多项,注意格式:
  addItem('长诚浪板','<BR>  欢迎光临设计在线!');
  addItem('浪型介绍','<center><a href="#">技术平台</a></center>');
  addItem('气楼介绍','<center><a href="#">平面设计</a></center>');
  addItem('收边资料','<center><a href="#">基础教程</a></center>');
  addItem('烤漆简介','<center><a href="#">DIRECTOR</a></center>');
  addItem('卷门简介','<center><a href="#">设计精品</a></center>');
  addItem('工程实绩','<center><a href="#">设计精品</a></center>');
  addItem('关于我们','<center><a href="#">设计精品</a></center><center><a href="#">设计精品</a></center><center><a href="#">dsfdf</a></center><center><a href="#">设计精品</a></center>');

  document.write('</span>')
  document.all.itemsLayer.style.height=itemNo*titleHeight+contentHeight;

  toItemIndex=itemNo-1;onItemIndex=itemNo-1;

  function changeItem(clickItemIndex){
    toItemIndex=clickItemIndex;
    if(toItemIndex-onItemIndex>0) moveUp(); else moveDown();
    runtimes++;
    if(runtimes>=stepNo){
      onItemIndex=toItemIndex;
      runtimes=0;}
    else
      setTimeout("changeItem(toItemIndex)",10);
    }

  function moveUp(){
    for(i=onItemIndex+1;i<=toItemIndex;i++)
      eval('document.all.item'+i+'.style.top=parseInt(document.all.item'+i+'.style.top)-contentHeight/stepNo;');
    }

  function moveDown(){
    for(i=onItemIndex;i>toItemIndex;i--)
      eval('document.all.item'+i+'.style.top=parseInt(document.all.item'+i+'.style.top)+contentHeight/stepNo;');
    }
  changeItem(0);
//-->
</script>
</body>
</html> 
代码里这个地方
><td height='+contentHeight+' class="contentStyle">'+itemContent+'</td></
我想能不能统计一下<td>里<a>的数量然后在这里+contentHeight*<a>的数量+来改变表格的高度?
求高手指教! --------------------编程问答-------------------- 用Ajax Control Toolkit里的Accordion试试 --------------------编程问答-------------------- 没怎么明白lz的意思,帮顶,不过想找<td>中的<a>的数量的话可以用正则表达式
<td*[^>]*>*\s\S*[^<a]*<a*\s\S*[^</td]* --------------------编程问答-------------------- for(var i=0;i<tab.rows.length;i++)
    {
       //找一行中的checkbox
       var objInput = tab.rows[i].cells[1].getElementsByTagName('input');
       for(var j=0;j<objInput.length;j++)
       {
          if(objInput[j].type=="checkbox")
          {
               if(chk.checked)
                   objInput[j].checked = true;
               else
                   objInput[j].checked = false;
          }
       }
    }
参考一下 --------------------编程问答-------------------- 谢谢大家了!
我在好好看看! --------------------编程问答-------------------- 用JQuery吧,方便。
td的数量: $("td").length
a的数量:$("a").length --------------------编程问答-------------------- 统计<a></a>的个数。
<script language="JavaScript1.2">
<!--
function extractlinks()
{
   var links=document.all.tags("A")
   var total=links.length
   var win2=window.open("","","menubar,scrollbars,易做图")
   win2.document.write("<font size='2'>一共有"+total+"个连接</font><br>")
   for (i=0;i<total;i++){
   win2.document.write("<font size='2'>"+links[i].outerHTML+"</font><br>")
}
}
//-->
</script> 
<form>
<input type="button" onClick="extractlinks()" value="显示所有的连接">
</form>
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,