1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Q.jsCSS 選擇器

        聯(lián)合創(chuàng)作 · 2023-09-22 12:39

        1, 和Sizzle的兼容
        Q(expr, context, result, seed)
        Q.matches
        支持Sizzle特別的setFilter偽類如:even,:first,:last,:lt...
        支持復雜的:not和:has選擇器(和sizzle一樣)

        2, 結果的正確性
        Sizzle在某些選擇器上由于查詢策略的原因,會返回錯誤的結果
        考慮在這樣的html上查詢
        "<div/><h1/><h1/><div/>"
        查詢 div~div : 應返回1個節(jié)點
        查詢 h1~div: 應返回1個節(jié)點
        查詢 div+h1~div: 應返回一個節(jié)點,但是Sizzle沒有找到節(jié)點

        另外
        div.querySelectorAll("body *")會返回節(jié)點
        所以在以元素為context的查詢中不使用querySelectorAll進行優(yōu)化

        3, 性能
        將選擇器編譯成函數(shù)再進行查詢,除了第一次查詢需要jit編譯之外,以后每次查詢都是最快的速度
        查詢策略引擎會分析選擇器的組成,選擇最恰當?shù)牟樵儾呗裕◤拈_始查還是從末尾查還是從中間開始)
        排除不必要的運算,如sizzle中的:lt偽類,這里查詢時找夠節(jié)點就會跳出查詢,不會繼續(xù)做無謂的查詢

        瀏覽 16
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            成人AV免费观看 | www.国产精品一区 | 一二三四社区在线视频 | 黄色小说网站网址 | 思思热国产在线视频 | 撸逼逼 | 开心激情站网 | 成人午夜福利 | 米奇色色| 国产寡妇亲子伦一区二区三区四区 |