
收集javascript
<html>
<head>
</head>
<body>
<table?border>
????
????<tr?>
????????<td>指令</td>
????????<td>統計</td>????
????</tr>
????
??<!--?通過?后臺遍歷數據出來時?tr?標識?name='_trdata'?-->
????<tr?name='_trdata'>
????????<td?name="_comm">234</td>
????????<td?name="_count">1</td>????
????</tr>
????<tr?name='_trdata'>
????????<td?name="_comm">1234</td>
????????<td?name="_count">2</td>????
????</tr>
????<tr?name='_trdata'>
????????<td?name="_comm">1256</td>
????????<td?name="_count">9</td>????
????</tr>
</table>
<input?id="t1"?type="text"?/>
<input?type="button"?value="頁面數據收集"?
????????????????????onclick="numSum(?document.getElementById('t1').value,'ss1');">?
結果:<span?id="ss1"?/>
</body>
<script?type="text/javascript">
????/*?startRegx
????*????E.g??3P45?->?3P4501?
????*???E.g??3P45;MAXAM?->?3P4509
?MAXAM1
?????
????*?收集方法
????*/?
????function?numSum(startRegx,strTextId){
????????var?sum?=?0?;
????????
????????//準備??匹配正則
????????var?regxStrs?=?startRegx.split(";");
????????var?regxs?=??new?Array(regxStrs.length);
????????for(var?i=0;i<regxStrs.length;i++){
????????????regxs[i]?=?new?RegExp("^"+regxStrs[i],?'');
????????}
????????
????????//得到需要的?tr?
????????var?trs?=?document.getElementsByName('_trdata');
????????
????????//遍歷?tr??
????????for(var?i=0;i<trs.length;i++){
????????????trs[i].style.backgroundColor?=?"";
????????????
????????????//得到全部?td?
????????????var?comm?=?getValusByObjectChildName(trs[i],'_comm');
????????????var?count?=?getValusByObjectChildName(trs[i],'_count');
????????????if(??comm?==?null??)?continue?;
????????????
????????????for(var?k=0;k<regxs.length;k++?){
????????????????if(?regxs[k].test(?comm?)){
????????????????????if(?!?isNaN(?count?)?){
?????????????????????????trs[i].style.backgroundColor?=?"#00cccc";
?????????????????????????sum?+=?parseInt(?count?)?;
????????????????????}
????????????????}
????????????}
????????}
????
????????document.getElementById(strTextId).innerHTML?=?sum?;
????}
?? //收集工具方法
?? function??getValusByObjectChildName(fobj,cName){
????????????if(?fobj==null?||?fobj.firstChild==null?)?
????????????????????return?null?;
????????????
??????????var?cns?=?fobj.childNodes?;
??????????
??????????for(var?j=0;j<cns.length;j++){
??????????????if(?cns[j].getAttribute?&&??cns[j].getAttribute('name')==cName?){
??????????????????return?cns[j].firstChild.nodeValue?;
??????????????}
??????????}
??????????return?null?;
????}
</script>
</html>
<head>
</head>
<body>
<table?border>
????
????<tr?>
????????<td>指令</td>
????????<td>統計</td>????
????</tr>
????
??<!--?通過?后臺遍歷數據出來時?tr?標識?name='_trdata'?-->
????<tr?name='_trdata'>
????????<td?name="_comm">234</td>
????????<td?name="_count">1</td>????
????</tr>
????<tr?name='_trdata'>
????????<td?name="_comm">1234</td>
????????<td?name="_count">2</td>????
????</tr>
????<tr?name='_trdata'>
????????<td?name="_comm">1256</td>
????????<td?name="_count">9</td>????
????</tr>
</table>
<input?id="t1"?type="text"?/>
<input?type="button"?value="頁面數據收集"?
????????????????????onclick="numSum(?document.getElementById('t1').value,'ss1');">?
結果:<span?id="ss1"?/>
</body>
<script?type="text/javascript">
????/*?startRegx
????*????E.g??3P45?->?3P4501?

????*???E.g??3P45;MAXAM?->?3P4509


????*?收集方法
????*/?
????function?numSum(startRegx,strTextId){
????????var?sum?=?0?;
????????
????????//準備??匹配正則
????????var?regxStrs?=?startRegx.split(";");
????????var?regxs?=??new?Array(regxStrs.length);
????????for(var?i=0;i<regxStrs.length;i++){
????????????regxs[i]?=?new?RegExp("^"+regxStrs[i],?'');
????????}
????????
????????//得到需要的?tr?
????????var?trs?=?document.getElementsByName('_trdata');
????????
????????//遍歷?tr??
????????for(var?i=0;i<trs.length;i++){
????????????trs[i].style.backgroundColor?=?"";
????????????
????????????//得到全部?td?
????????????var?comm?=?getValusByObjectChildName(trs[i],'_comm');
????????????var?count?=?getValusByObjectChildName(trs[i],'_count');
????????????if(??comm?==?null??)?continue?;
????????????
????????????for(var?k=0;k<regxs.length;k++?){
????????????????if(?regxs[k].test(?comm?)){
????????????????????if(?!?isNaN(?count?)?){
?????????????????????????trs[i].style.backgroundColor?=?"#00cccc";
?????????????????????????sum?+=?parseInt(?count?)?;
????????????????????}
????????????????}
????????????}
????????}
????
????????document.getElementById(strTextId).innerHTML?=?sum?;
????}
?? //收集工具方法
?? function??getValusByObjectChildName(fobj,cName){
????????????if(?fobj==null?||?fobj.firstChild==null?)?
????????????????????return?null?;
????????????
??????????var?cns?=?fobj.childNodes?;
??????????
??????????for(var?j=0;j<cns.length;j++){
??????????????if(?cns[j].getAttribute?&&??cns[j].getAttribute('name')==cName?){
??????????????????return?cns[j].firstChild.nodeValue?;
??????????????}
??????????}
??????????return?null?;
????}
</script>
</html>