[发明专利]针对HTMLElement的CSS选择器最短路径反查方法有效
申请号: | 201510438532.8 | 申请日: | 2015-07-23 |
公开(公告)号: | CN105094940B | 公开(公告)日: | 2018-05-25 |
发明(设计)人: | 李超 | 申请(专利权)人: | 天津橙子科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 李莉华 |
地址: | 300381 天津市西青区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指向 最短路径 选择器 路径唯一 索引 集合 查询路径 节点优化 父节点 叠加 查找 | ||
1.针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:设定节点D为当前节点,包括
S1.根据当前节点的属性值id或者class,确定当前节点的路径,若该节点的路径唯一指向当前节点,则结束,若不唯一指向当前节点,则设定节点D的路径为路径S,进入步骤S2;
S2.循环将当前节点的父节点路径叠加在路径S上,得到指向节点D的新路径,若该节点D的路径唯一指向节点D,则结束,若不唯一指向节点D,则进入步骤S3;
S3.在可以指向节点D的所有路径中选择出其中最短的一个路径SP,并查找出该路径SP指向的所有节点的集合A,在所述集合A中找到节点D的位置,作为节点D的索引I,路径SP加索引I作为节点D的路径。
2.根据权利要求1所述的针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:所述步骤S1包括
S11.判断当前节点是否有专属于它的id,若有,则当前节点路径为id,结束,若无,则进入步骤S12;
S12.判断当前节点的当前节点路径加class能否唯一指向当前节点,若能,则当前节点路径为id加class,结束,若不能,则进入步骤S2。
3.根据权利要求2所述的针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:所述步骤S11包括
S111.判断当前节点是否有id,若有,则当前节点路径为id,进入步骤S112,若无,则进入步骤S12;
S112.判断当前节点路径是否唯一指向当前节点,若是,则结束,若否,则进入步骤S12。
4.根据权利要求2所述的针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:所述步骤S12包括
S121.判断当前节点是否有class,若有,则当前节点路径加上class成为新的节点路径,进入步骤S122,若无,则设定节点D的路径为路径S,进入步骤S2;
S122.判断当前节点路径是否唯一指向当前节点,若是,则结束,若否,则设定节点D的路径为路径S,进入步骤S2。
5.根据权利要求1所述的针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:所述步骤S2包括
S21.将当前节点的父节点设为新的当前节点,查找当前节点的路径,设定新的路径S为当前节点路径加路径S,进入步骤S22;
S22.判断路径S是否唯一指向节点D,若是,则结束,若否,则进入步骤S23;
S23.判断当前节点是否为根节点,若是,则进入步骤S3;若否,则进入步骤S21。
6.根据权利要求5所述的针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:所述步骤S21包括
S211.将当前节点的父节点设为新的当前节点,判断当前节点是否有id,若有,则当前节点路径为id,进入步骤S212,若无,则进入步骤S213;
S212.判断当前节点路径是否唯一指向当前节点,若是,则进入步骤S214,若否,则进入步骤S213;
S213.判断当前节点是否有class,若有,则当前节点路径加上class成为新的节点路径,进入步骤S214,若无,进入步骤S214;
S214.设定新的路径S为当前节点路径加路径S,进入步骤S22。
7.根据权利要求1所述的针对HTMLElement的CSS选择器最短路径反查方法,其特征在于:判断节点路径是否唯一指向节点的方法为查找出节点路径指向的所有的节点集合,若该集合的长度为1,则可认定节点路径唯一指向该节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津橙子科技有限公司,未经天津橙子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510438532.8/1.html,转载请声明来源钻瓜专利网。