js中的children實時獲取子元素

2021-08-20 13:34:55 字數 537 閱讀 4686

先看下面乙個小例子的結果

從上面的結果我們發現,我們發現同樣是一開始就獲取了ul的子列表,但是通過.queryselectorall獲取的子列表,在建立列表前和建立列表後,長度都為0,而通過.children方法獲取的字列表,在列表建立前,長度為0,而建立之後,長度為10,為什麼呢?

使用.children獲取的是元素物件是乙個實時更新的列表 可以看做乙個陣列物件 而使用queryselectorall獲取的是nodelist 與其他方式獲取的nodelist不同 它不是節點集合 而是元素集合 並且是靜態的 不會實時更新 相當於轉殖了乙個新陣列

所以,我們在使用的時候要注意了哦,如果想要實時獲取列表的變化,可以使用.children,反之,則使用.queryselectorall(當然也包括getelementsbyclassname和getelementsbytagnama)

childnodes也和children一樣是實時獲取元素的字列表(但兩者還是有區別的,這裡不再詳細敘說,關於兩者的區別網上有很多啦)

jq中find 和children 的區別

find 返回匹配元素集合中每個元素的後代。引數 必選的,可以為字串,jq物件或dom元素。字串是指用於查詢的表示式 children 返回匹配元素集合中每個元素的子元素。引數 可選的,字串值,用以過濾子元素的表示式。例子 123 456 tr children td first 表示式先找到所有t...

JS實時監聽輸入框中的內容

有時候我們需要實時監聽輸入框中值得變化,這裡得實時監聽是指當我們獲取到輸入框焦點,並在其中鍵入字元的時候,我們可以監聽到當每次鍵入字元後,獲取輸入框中的內容。當在輸入框中每次輸入乙個字元,箭頭指向的內容顯示區域都會實時顯示鍵入字元後輸入框中的內容。具體實現方式是 給輸入框input繫結onprope...

android ophone中本機號碼的獲取

首先我們來明確幾個概念 sim卡儲存的資料可分為四類 第一類是固定存放的資料。這類資料在移動 機被 之前由 sim卡中心寫入,包括國際移動使用者識別號 imsi 鑑權金鑰 ki 鑑權和加密演算法等等。第二類是暫時存放的有關網路的資料。如位置區域識別碼 lai 移動使用者暫時識別碼 tmsi 禁止接入...