1. 程式人生 > >小程式如何獲取dom 元素節點

小程式如何獲取dom 元素節點

返回的 obj 有五個方法:

1.  obj.in(component):沒用過這個方法,多用於元件的選擇器。

2.   obj.select(selector):獲取指定的節點,selector是css選擇器。返回一個 NodesRef 物件例項,可以用於獲取節點資訊。

3.  obj.selectAll(selector):獲取指定的節點,selector是css選擇器。返回一個 NodesRef 物件例項,可以用於獲取節點資訊。

                  上面這兩個我感覺就是 js 中querySelector和querySelectorAll的區別。

4. obj.selectViewport():我沒用過這個方法。官方說是選擇顯示區域,可用於獲取顯示區域的尺寸、滾動位置等資訊。也是返回一個 NodesRef 物件例項,可以用於獲取節點資訊。

5. exec( function(res){} ):執行所有的請求,請求結果按請求次序構成陣列,在callback的第一個引數中返回

 

上面返回的 NodesRef 物件例項就很重要了,它有三個方法:

1. boundingClientRect( function(rect){} ):就是這個方法,能夠動態獲取view元素的高度、寬度等屬性。還有其它的請看官方文件

2. scrollOffset( function(res) {}):獲取節點的水平、垂直滾動的位置等。節點必須是scroll-view或者viewport

3. fields(fields,function(){res} ):這個可以獲取指定元素的自定義屬性和class名,具體的請看官方文件的說明。

 

使用:

wx.createSelectorQuery().selectAll('.npl-intro').boundingClientRect(function (rect) {
    console.log(rect[0].height)
    console.log(rect[
0].width) }).exec()