现在有个需求,需要获取页面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是不变的。
各位有什么高见?
大致可以这样:
//遍历所有page节点
selectorQuery()
//遍历所有组件节点
for(let component of components )
selectorQuery.in(component)