国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Javascript中css選擇器的陷阱

Tangpj / 3142人閱讀

之前寫了一大段都刪了,想了想沒必要介紹api的使用。querySelector querySelectorAll這兩個(gè)api現(xiàn)在應(yīng)該沒人不知道
這里只簡單說下使用時(shí)容易遇到的兩個(gè)坑
document.querySelectorAll返回的是靜態(tài)的nodelist,可以理解為某一時(shí)間的快照
舉個(gè)例子說就是如果一個(gè)ul下有兩個(gè)li,現(xiàn)在我用querySelectorAll獲取li,如果以后再動(dòng)態(tài)的添加幾個(gè)li,querySelectorAll返回的nodelist是不會(huì)包括后來動(dòng)態(tài)添加的li的,而getElementByTagName獲取到的nodelist則是動(dòng)態(tài)的,就算后來動(dòng)態(tài)添加的元素一樣可以獲取到
  • a
  • b
另外一點(diǎn)是返回的結(jié)果可能與預(yù)想中的有偏差 id為test的元素中沒有div元素,但是返回的并不是空數(shù)組,可以自行實(shí)驗(yàn)一下
Hello I"am a ninja
var a = document.getElementById("test").querySelectorAll("div b"); console.log(a);
下面是JQ的作者給出的一個(gè)方法,使其正確的匹配,首先必須為元素賦予元素一個(gè)唯一的id,并且稍后將原始的id恢復(fù)回去,然后將id 拼接在選擇器前面
(function() {
    var count = 1;
    this.rootedQuerySelectorAll = function(elem, query) {
        var oldId = elem.id;
        try {
            return elem.querySelectorAll("#" + elem.id + " " + query);
        }
        catch(e) {
            throw e;
        }
        finally {
            elem.id = oldId;
        }
    }
}) ()

var b = rootedQuerySelectorAll(
    document.getElementById("test"),
    "div b"
)
console.log(b);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/94317.html

相關(guān)文章

  • 前端工程師必知的性能優(yōu)化技巧

    摘要:網(wǎng)站性能類似于二八定律,其中的優(yōu)化將帶來網(wǎng)站的性能提升。代碼重用最大的性能缺陷之一是文件大小過大和不必要的瀏覽器呈現(xiàn)。最大程度上減少文件大小的快速方法就是盡可能多地重用樣式。此外,圖像可能被壓縮,刪除任何不必要的注釋和顏色配置文件。 性能與組織 當(dāng)能夠扎實(shí)的理解并編寫HTML和CSS這門專業(yè)知識(shí)。隨著網(wǎng)站代碼量和流量的增長,另一種新技能也開始發(fā)揮作用,這對(duì)于開發(fā)效率和用戶體驗(yàn)都至關(guān)重要...

    crelaber 評(píng)論0 收藏0
  • 前端工程師必知的性能優(yōu)化技巧

    摘要:網(wǎng)站性能類似于二八定律,其中的優(yōu)化將帶來網(wǎng)站的性能提升。代碼重用最大的性能缺陷之一是文件大小過大和不必要的瀏覽器呈現(xiàn)。最大程度上減少文件大小的快速方法就是盡可能多地重用樣式。此外,圖像可能被壓縮,刪除任何不必要的注釋和顏色配置文件。 性能與組織 當(dāng)能夠扎實(shí)的理解并編寫HTML和CSS這門專業(yè)知識(shí)。隨著網(wǎng)站代碼量和流量的增長,另一種新技能也開始發(fā)揮作用,這對(duì)于開發(fā)效率和用戶體驗(yàn)都至關(guān)重要...

    DTeam 評(píng)論0 收藏0
  • 前端面試題收集,持續(xù)更新

    摘要:對(duì)于所訪問的每個(gè)元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對(duì)瀏覽器內(nèi)核的理解?...

    kgbook 評(píng)論0 收藏0
  • 前端面試題收集,持續(xù)更新

    摘要:對(duì)于所訪問的每個(gè)元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對(duì)瀏覽器內(nèi)核的理解?...

    2json 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<