国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序如何獲取元素節(jié)點信息?

這篇具有很好參考價值的文章主要介紹了微信小程序如何獲取元素節(jié)點信息?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

通常在做微信小程序的時候我們經(jīng)常會需要獲取元素的信息,但是微信小程序有沒有完整的“DOM”操作,無法像瀏覽器中獲取元素。

不過在微信中也有一套自己的“DOM”,那就是NodesRef,它可以讓我們像開發(fā)瀏覽器程序一樣輕松愉快的獲取頁面元素

一、NodesRef 節(jié)點對象

1.1、NodesRef是什么?

NodesRef 用于獲取 WXML 節(jié)點信息的對象

1.2、NodesRef具備的方法?

  • NodesRef.fields(Object fields)
    • 獲取節(jié)點的相關信息
    • 獲取節(jié)點的相關信息
  • NodesRef.boundingClientRect()
    • 添加節(jié)點的布局位置的查詢請求
    • 相對于顯示區(qū)域,以像素為單位
    • 功能類似于 DOM 的 getBoundingClientRect
  • NodesRef.scrollOffset()
    • 添加節(jié)點的滾動位置查詢請求
    • 以像素為單位
    • 節(jié)點必須是 scroll-view 或者 viewport

二、SelectorQuery 查詢節(jié)點信息的對象

1.1、 創(chuàng)建SelectorQuery查詢對象

let query = wx.createSelectorQuery()

1.2、SelectorQuery方法

  • SelectorQuery.in (對應的組件)

    • 將選擇器的選取范圍更改為自定義組件 component 內(nèi)
    • 初始時,選擇器僅選取頁面范圍的節(jié)點,不會選取任何自定義組件中的節(jié)點
  • SelectorQuery.select(string selector)

    • 在當前頁面下選擇第一個匹配選擇器 selector 的節(jié)點
  • SelectorQuery.selectAll()

    • 在當前頁面下選擇匹配選擇器 selector 的所有節(jié)點。
  • SelectorQuery.selectViewport()

    • 選擇顯示區(qū)域
    • 用于獲取顯示區(qū)域的尺寸、滾動位置等信息
  • SelectorQuery.exec(function callback)

    • 執(zhí)行所有的請求
    • 請求結果按請求次序構成數(shù)組,在callback的第一個參數(shù)中返回

三、獲取某個元素節(jié)點信息

第一步、 創(chuàng)建SelectorQuery查詢對象
let query = wx.createSelectorQuery()
第二步、 獲取節(jié)點對象
  • 方法一:query.select(queryString) 選擇第一個匹配節(jié)點

  • 方法二:query.selectAll(queryString) 選擇所有匹配節(jié)點文章來源地址http://www.zghlxwxcb.cn/news/detail-753718.html

    • queryString 類型
      • ID選擇器:#the-id
      • class選擇器(可以連續(xù)指定多個):.a-class.another-class
      • 子元素選擇器:.the-parent > .the-child
      • 后代選擇器:.the-ancestor .the-descendant
      • 跨自定義組件的后代選擇器:.the-ancestor >>> .the-descendant
      • 多選擇器的并集:#a-node, .some-other-nodes
let queryString = '.blue-product>>>.product-list' let queryNode = query.selectAll(queryString)
第三步、調(diào)用節(jié)點對象方法
  • 獲取節(jié)點的相關屬性
  • developers.weixin.qq.com/miniprogram…https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.fields.html
queryNode.fields({
      id:false,//是否返回節(jié)點id
      rect:fasle,//是否返回節(jié)點布局位置
      dataset: true,//返回數(shù)據(jù)集
      size: true,//返回寬高
      scrollOffset: true,//返回 scrollLeft,scrollTop
      properties: ['scrollX', 'scrollY'],//監(jiān)聽屬性名
      computedStyle: ['margin', 'backgroundColor']//此處返回指定要返回的樣式名
    }, function(res) {
      console.log(res)
    })
    
    // 返回結果
    [{
        dataset:{},
        width:247,
        height:1065,
        scrollLeft:0,
        scrollTop:0,
        margin:"0px 0px 10px",
        backgroundColor:"rgba(0, 0, 0, 0)",
    },{
        dataset:{},
        width:247,
        height:1065,
        scrollLeft:0,
        scrollTop:0,
        margin:"0px 0px 10px",
        backgroundColor:"rgba(0, 0, 0, 0)",
    },{
        dataset:{},
        width:247,
        height:1065,
        scrollLeft:0,
        scrollTop:0,
        margin:"0px 0px 10px",
        backgroundColor:"rgba(0, 0, 0, 0)",
    }]
  • 添加節(jié)點的布局位置的查詢請求
  • developers.weixin.qq.com/miniprogram…https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectAll.html
 query.selectAll(queryClass).boundingClientRect(function(rect){
      rect.id      // 節(jié)點的ID
      rect.dataset // 節(jié)點的dataset
      rect.left    // 節(jié)點的左邊界坐標
      rect.right   // 節(jié)點的右邊界坐標
      rect.top     // 節(jié)點的上邊界坐標
      rect.bottom  // 節(jié)點的下邊界坐標
      rect.width   // 節(jié)點的寬度
      rect.height  // 節(jié)點的高度
 })
  • 添加節(jié)點的滾動位置查詢請求
  • developers.weixin.qq.com/miniprogram…https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectViewport.html
 wx.createSelectorQuery().selectViewport().scrollOffset(function(res){
      res.id      // 節(jié)點的ID
      res.dataset // 節(jié)點的dataset
      res.scrollLeft // 節(jié)點的水平滾動位置
      res.scrollTop  // 節(jié)點的豎直滾動位置
 })
第四步:可一返回所有的節(jié)點信息
query.exec(function(res) { console.log(res) })

到了這里,關于微信小程序如何獲取元素節(jié)點信息?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Uniapp寫微信小程序時,如何獲取用戶頭像和昵稱使用微信用戶信息登錄?

    Uniapp寫微信小程序時,如何獲取用戶頭像和昵稱使用微信用戶信息登錄?

    實現(xiàn)效果如下: 首先使用uni.login獲取用戶登錄憑證code: 官方代碼: success返回參數(shù)如下: 頭像選擇: 需要將?button?組件? open-type ?的值設置為? chooseAvatar ,當用戶選擇需要使用的頭像之后,可以通過? bindchooseavatar ?事件回調(diào)獲取到頭像信息的臨時路徑。 從基礎庫2.24.4版本

    2024年02月04日
    瀏覽(25)
  • 關于微信小程序如何調(diào)用wx.login獲取openId和用戶信息

    關于微信小程序如何調(diào)用wx.login獲取openId和用戶信息

    首先我們需要在微信開發(fā)小工具獲取code臨時登錄憑證,下面是js文件也就是一些需要調(diào)用的函數(shù)。需要做這個的話我們需要上微信公眾平臺獲取AppId和AppSecret 這個是頁面 這是獲取到的code 本來獲取用戶信息是getUserInfo但是微信官方已經(jīng)把那個接口廢棄了,只能獲取到一些默認

    2024年02月11日
    瀏覽(23)
  • 解決微信小程序dom的獲取問題,動態(tài)修改CSS樣式

    解決微信小程序dom的獲取問題,動態(tài)修改CSS樣式

    哥們兒用UNIAPP開發(fā)微信小程序的過程中,遇到這么一個組件 這是插件市場中的一個案例,作者使用的進度條是vant的Circle 環(huán)形進度條 哥們兒開心的很呀,這東西粘貼一下改改數(shù),一天的工作量不就達成了嗎? 但是因為種種原因,我還是太高估自己了,vant引入不進去! 還好哥

    2024年02月05日
    瀏覽(25)
  • 微信小程序獲取節(jié)點的位置返回null

    微信小程序獲取元素節(jié)點時,返回值為null的原因,是因為元素在頁面數(shù)據(jù)渲染前,先調(diào)用的微信小程序的方法,此時元素節(jié)點還未渲染出來,所以拿不到節(jié)點位置,返回null。 解決辦法:盡量避免動態(tài)生成元素節(jié)點,若避免不了,就設置個定時器,在頁面加載幾秒后再調(diào)用該

    2024年02月12日
    瀏覽(24)
  • html2canvas(將dom元素轉(zhuǎn)為canvas),wxml2canvas(微信小程序)

    某些場景需要通過 canvas 繪制一些圖片, 其中包含一些文字、可能的二維碼等等。 然后實現(xiàn)時如果完全手動的去定位元素在 canvas 中的位置,結果就會產(chǎn)生大量不能復用和難以維護的代碼。( 使用背景圖可能會模糊,可以使用img,結合定位 ) 1.安裝 ? 也可以直接官網(wǎng)下載js文件

    2024年02月16日
    瀏覽(23)
  • 微信小程序 獲取window或某一節(jié)點的寬高

    異步方法: 同步方法: 如果查詢節(jié)點為自定義組件內(nèi)容,則要使用 in() 方法 例如查找的節(jié)點為當前組件內(nèi)容: wx.createSelectorQuery().in(this).select(\\\'#container\\\')

    2024年02月15日
    瀏覽(28)
  • 微信小程序如何及時獲取頁面循環(huán)元素的寬度、高度、距離左邊值、函數(shù)自調(diào)、類似遞歸、閃屏、selectAll、exec、globalData、map、scroll-view

    distanceLeft :定義一個數(shù)組存儲各個循環(huán)元素距離左邊的值。 isPage :控制頁面顯示與隱藏。 scrollLeft :動態(tài)設置滾動距離。 isAactivity :存儲 tabBar 對應 id 值。因為從 tabBar 頁面跳轉(zhuǎn)到 tabBar 頁面時不能在路徑上攜帶參數(shù),所以此參數(shù)存儲在全局變量中。 在微信小程序中使用

    2024年02月13日
    瀏覽(34)
  • 微信小程序獲取用戶信息

    要在微信小程序中獲取用戶信息,你可以按照以下步驟進行操作: 1. 在小程序的app.json文件中添加\\\"scope.userinfo\\\"權限,例如: ``` \\\"permission\\\": { ? \\\"scope.userinfo\\\": { ? ? \\\"desc\\\": \\\"你的個人信息\\\" ? } } ``` 2. 在小程序的某個頁面中,使用wx.login方法獲取用戶登錄憑證code,例如: ``` wx.log

    2024年02月10日
    瀏覽(35)
  • 小程序獲取窗口寬高和dom元素

    wx.getSystemInfoSync().windowWidth // 獲取當前窗口的寬度 wx.getSystemInfoSync().windowHeight // 獲取當前窗口的高度 wx.getSystemInfoSync().model // 獲取當前采用的設備 wx.getSystemInfoSync().pixelRatio wx.getSystemInfoSync().language // 獲取當前所采用的的語言 wx.getSystemInfoSync().version // 獲取當前設備的版本 ==

    2024年02月15日
    瀏覽(29)
  • 微信小程序獲取頁面節(jié)點方法簡介。canvas 滑動驗證碼 (前段,微信小程序,canvas2D)

    目錄 一.wx.createSelectorQuery():返回一個 SelectorQuery 對象實例。在自定義組件或包含自定義組件的頁面中,應使用?this.createSelectorQuery()?來代替 二.SelectorQuery.select(string selector)? 返回值是NodesRef 三.NodesRef? 四:執(zhí)行所有請求?NodesRef SelectorQuery.exec 五: canvas 滑動驗證碼(使用wx

    2024年02月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包