小程序如何获取dom 元素节点 蔚落 2021-12-04 00:25 1221阅读 0赞 返回的 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()
还没有评论,来说两句吧...