zoukankan      html  css  js  c++  java
  • selector优化写法之改变selector的顺序

    例如以下结构,相当于一个只有一层的树。

    代码

    <body>
    <ul class="open" >
    <li>1</li>
    <li>..</li>
    <li>100</li>
    </ul>
    <ul class="open" >
    <li>1</li>
    <li>..</li>
    <li>100</li>
    </ul>
    <ul class="open" >
    <li>1</li>
    <li>..</li>
    <li>100</li>
    </ul>
    <ul>
    ...
    </ul>
    <ul class="closed" >
    <li>1</li>
    <li>..</li>
    <li>100</li>
    </ul>
    <ul class="closed" >
    <li>1</li>
    <li>..</li>
    <li>100</li>
    </ul>
    </body>


    其中,ul.open有5个,ul.closed有95个
    现在想获取'ul.open > li'
    正常的写法,可能是$('ul.open>li')。
    在当前案例下,试想一下:
    如果选择器是从右往左来找,则:先找到100*100个li,再向上寻父ul.open,找到则通过。
    如果选择器是从左往右来找,则:先找到5个ul.open,再寻子,找5*100个li。
    显然,后者快于前者。
    现实情况是:很多selector都是从右往左找的。那我们该怎么来优化这个问题呢?

    嗯,selector是从右往左的,但是我们可以改变它的查找方向
    例如,QWrap里的写法:
    W('ul.open').query('>li'),它返回的结果与W('ul.open>li')是一样的。
    不过在这种情况下,W('ul.open').query('>li')把查询方向改成了从左往右来query。

  • 相关阅读:
    Java+seleinum+testng框架UI自动化测试环境搭建--第一节
    linux常用命令
    Linux下定时任务的查看及取消
    WampServer环境安装
    Airtest断言方法
    Pycharm创建模板头部默认
    QPS/TPS简介
    简易全文搜索引擎设计
    如何在linux下检测内存泄漏
    箱线图(boxplot)简介与举例
  • 原文地址:https://www.cnblogs.com/jkisjk/p/1946936.html
Copyright © 2011-2022 走看看