微信小程序 获得根目录<page>以及以下的DOM节点?

现在有个需求,需要获取页面DOM树结构,调用wx.createSelectQuery()这个方法,但是只能获得<page>标签内部的元素内容;

例如页面结构

<page>
    <view class="conts">
        ......
    </view>
</page>

js代码--这样是获取到的

  onReady: function() {
    var query = wx.createSelectorQuery()
    query.select('.conts').boundingClientRect()
    query.selectViewport().scrollOffset()
    query.exec(function(res) {
      console.log(res);
      res[0].top // #the-id节点的上边界坐标
      res[1].scrollTop // 显示区域的竖直滚动位置
    })
  }

而这样,直接获取根目录page是获取不到的,如下:

  onReady: function() {
    var query = wx.createSelectorQuery()
    query.select('page').boundingClientRect()
    query.selectViewport().scrollOffset()
    query.exec(function(res) {
      console.log(res);
      res[0].top // #the-id节点的上边界坐标
      res[1].scrollTop // 显示区域的竖直滚动位置
    })
  }

因为项目需求,必须要拿到页面根目录,因为每个页面中的标签元素是可变的,而根目录page是不变的。
各位有什么高见?

阅读 9.2k
1 个回答
新手上路,请多包涵

大致可以这样:

//遍历所有page节点
selectorQuery()

//遍历所有组件节点
for(let component of components )
selectorQuery.in(component)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题