欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

论web开发中一些标签属性命名规则的重要性

程序员文章站 2022-05-31 23:08:04
...

    在平时做项目时给页面标签赋值或者拿值等操作时,都会根据对应的id或者name、class或者通过jquery 的其他方式来操作。不过在一些很平常的一些操作来说,命名可能只是给标签赋予一个身份,指定一个名称,并没有考虑太多。

    不过在一些特殊的情况下时,一个适应当下操作的命名规则很重要。

    例如曾经我碰到一个进度报表:

论web开发中一些标签属性命名规则的重要性

    这个报表需要统计每个不同类型(新户、分户.....)的工单对应流程(用户申请....)的数量,可能有些会调用很多的查询去统计每个的数量。其实在一些业务需求下,根据一些已存在的特殊性可以很方便的进行操作。就比如这个工单的类型最开始的时候已经定义了用什么指代它,假设1~7对应每一个工单,而流程步骤也是对应-1~8。当我想到这一步的时候,我只需要从数据库拿出三个列的数据:统计数、工单类型、流程,一个统计加分组的视图完全可以做到。

   既然能拿到所有的对应数据了,那么在标签命名这一块其实根据这三个列就很好来命名了

  如:id='s1o1',id='s1o2'   这两个分别对应的是新户工单的新户申请和分户申请的工单申请,

				<thead>
					<tr>
						
						<th>进度</th>
						<th width="100">新户</th>
						<th width="100">分户</th>
						<th width="100">过户</th>
						<th width="100">代扣</th>
						<th width="100">换表</th>
						<th width="100">重签</th>
						<th width="100">销户</th>
						<th width="100">总数</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="center item">01 用户申请</td>
						<td class="center num" id="s1o1">0</td>
						<td class="center num" id="s1o2">0</td>
						<td class="center num" id="s1o3">0</td>
						<td class="center num" id="s1o4">0</td>
						<td class="center num" id="s1o5">0</td>
						<td class="center num" id="s1o6">0</td>
						<td class="center num" id="s1o7">0</td>
						<td class="center cnt num" id="s1oo">0</td>
					</tr>
					<tr>
						<td class="center item">02 初步审核</td>
						<td class="center num" id="s2o1">0</td>
						<td class="center num" id="s2o2">0</td>
						<td class="center num" id="s2o3">0</td>
						<td class="center num" id="s2o4">0</td>
						<td class="center num" id="s2o5">0</td>
						<td class="center num" id="s2o6">0</td>
						<td class="center num" id="s2o7">0</td>
						<td class="center cnt num" id="s2oo">0</td>
					</tr>
					<tr>
						<td class="center item">03 交施工费</td>
						<td class="center num" id="s3o1">0</td>
						<td class="center num" id="s3o2">0</td>
						<td class="center num" id="s3o3"></td>
						<td class="center num" id="s3o4"></td>
						<td class="center num" id="s3o5">0</td>
						<td class="center num" id="s3o6"></td>
						<td class="center num" id="s3o7"></td>
						<td class="center cnt num" id="s3oo">0</td>
					</tr>
					<tr>
						<td class="center item">04 水费清算</td>
						<td class="center num" id="s4o1"></td>
						<td class="center num" id="s4o2">0</td>
						<td class="center num" id="s4o3"></td>
						<td class="center num" id="s4o4"></td>
						<td class="center num" id="s4o5"></td>
						<td class="center num" id="s4o6"></td>
						<td class="center num" id="s4o7">0</td>
						<td class="center cnt num" id="s4oo">0</td>
					</tr>
					<tr>
						<td class="center item">05 供水协议</td>
						<td class="center num" id="s5o1">0</td>
						<td class="center num" id="s5o2">0</td>
						<td class="center num" id="s5o3"></td>
						<td class="center num" id="s5o4"></td>
						<td class="center num" id="s5o5"></td>
						<td class="center num" id="s5o6">0</td>
						<td class="center num" id="s5o7"></td>
						<td class="center cnt num" id="s5oo">0</td>
					</tr>
					<tr>
						<td class="center item">06 施工竣工</td>
						<td class="center num" id="s6o1">0</td>
						<td class="center num" id="s6o2">0</td>
						<td class="center num" id="s6o3"></td>
						<td class="center num" id="s6o4"></td>
						<td class="center num" id="s6o5">0</td>
						<td class="center num" id="s6o6"></td>
						<td class="center num" id="s6o7"></td>
						<td class="center cnt num" id="s6oo">0</td>
					</tr>
					<tr>
						<td class="center item">07 通水停水</td>
						<td class="center num" id="s7o1">0</td>
						<td class="center num" id="s7o2">0</td>
						<td class="center num" id="s7o3"></td>
						<td class="center num" id="s7o4"></td>
						<td class="center num" id="s7o5">0</td>
						<td class="center num" id="s7o6"></td>
						<td class="center num" id="s7o7">0</td>
						<td class="center cnt num" id="s7oo">0</td>
					</tr>
					<tr>
						<td class="center item">08 档案存档</td>
						<td class="center num" id="s8o1">0</td>
						<td class="center num" id="s8o2">0</td>
						<td class="center num" id="s8o3">0</td>
						<td class="center num" id="s8o4">0</td>
						<td class="center num" id="s8o5">0</td>
						<td class="center num" id="s8o6">0</td>
						<td class="center num" id="s8o7">0</td>
						<td class="center cnt num" id="s8oo">0</td>
					</tr>
					<tr class="todo">
						<td class="center item">  待办总数</td>
						<td class="center num" id="o1">0</td>
						<td class="center num" id="o2">0</td>
						<td class="center num" id="o3">0</td>
						<td class="center num" id="o4">0</td>
						<td class="center num" id="o5">0</td>
						<td class="center num" id="o6">0</td>
						<td class="center num" id="o7">0</td>
						<td class="center cnt num" id="oo">0</td>
					</tr>
					<tr>
						<td class="center item">  工单完成</td>
						<td class="center num" id="s0o1">0</td>
						<td class="center num" id="s0o2">0</td>
						<td class="center num" id="s0o3">0</td>
						<td class="center num" id="s0o4">0</td>
						<td class="center num" id="s0o5">0</td>
						<td class="center num" id="s0o6">0</td>
						<td class="center num" id="s0o7">0</td>
						<td class="center cnt num" id="s0oo">0</td>
					</tr>
					<tr>
						<td class="center item">  工单终止</td>
						<td class="center num" id="s-1o1">0</td>
						<td class="center num" id="s-1o2">0</td>
						<td class="center num" id="s-1o3">0</td>
						<td class="center num" id="s-1o4">0</td>
						<td class="center num" id="s-1o5">0</td>
						<td class="center num" id="s-1o6">0</td>
						<td class="center num" id="s-1o7">0</td>
						<td class="center cnt num" id="s-1oo">0</td>
					</tr>
					</tbody>

  那么利用Ajax拿取返回值,使用jquery的each 用 $("#s"+this.stepId+"o"+this.orderType).text(this.count);绑值,完全一句代码可以完成。

在Ajax的success里执行

$.each(data,function(){
                //给对应工单的对应流程绑值
                $("#s"+this.stepId+"o"+this.orderType).text(this.count);
            });
            //流程统计
            for (var i = -1; i < 9; i++) { //流程
                var counts = 0;
                for (var j = 1; j < 8; j++) {//工单类型
                    var z= $("#s"+i+"o"+j).text();
                    if(z!=''){
                        counts=counts+parseInt(z);
                    }
                }
                //设置流程统计
                $("#s"+i+"oo").text(counts);
            }
            //待完成总和
            var cou = 0;
            //统计待完成
            for (var j = 1; j < 8; j++) {//工单类型
                var counts = 0;
                for (var i = 1; i < 9; i++) { //流程
                    var z= $("#s"+i+"o"+j).text();
                    if(z!=''){
                        counts=counts+parseInt(z);
                    }
                }
                cou=cou+counts;
                //设置统计待完成
                $("#o"+j).text(counts);
            }
            //设置待完成总和
            $("#oo").text(cou);
        }

至此完全可以给所有标签赋值。

其实每一个统计数来的论web开发中一些标签属性命名规则的重要性  td都能点击去详细页面。而我们只需要把id传过去,进行处理就可以得到对应的统计数信息。

 

当然可能这种比不是适用于所有的报表什么的,只能说在某种情况下面,看清此时的需求及数据与页面的关系,定义一个正确的命名规则可以省去很多事情。

如果我还有不足的地方请大佬提示

相关标签: 命名规则