關於獲取小程式元件的dom元素屬性 詳盡版

2022-02-15 17:29:23 字數 903 閱讀 8430

在看本篇以前,期待讀者先了解js的document.queryselector 方法,在此不做贅述。

這個api叫做 wx.createselectorquery(),  官方定義:返回乙個 selectorquery 物件例項。

這個api的select()方法用於查詢元素,類似jq的元素選擇器

再之後的exec(function(rect){})則是設定元素屬性,rect在這裡指的是所有匹配到結果的集合,通過呼叫that/this.setdata({})可以更改元素dom值,請注意!rect是乙個陣列集合,想要設定某乙個元素,需要給該陣列加指定元素的下標!

來個簡單demo:

wxml:

111

在這個demo裡 我想獲取.cont1的高度從而動態調整swiper的高度,因而我給swiper的高度設定了引數swiperheight

wx.js:

page( ,

/*由於期待頁面載入完畢就顯示,所以我放在了onload函式內

*//*

* * 生命週期函式--監聽頁面初次渲染完成

*/onready:

function

() ).exec(

function

(rect))

//rect返回乙個陣列,需要使用下標0才能找到

}); },

})

/*原理是使用定時器非同步獲取dom*/

settimeout(function

() )

});}, 500)

如果有哪些錯誤,歡迎指教

以上。

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

返回的 obj 有五個方法 1.obj.in component 沒用過這個方法,多用於元件的選擇器。2.obj.select selector 獲取指定的節點,selector是css選擇器。返回乙個nodesref物件例項,可以用於獲取節點資訊。3.obj.selectall selector ...

DOM元素的獲取

通過id獲取元素 document.getelementbyid id 通過class獲取元素 document.getelementsbyclassname class 注意 這裡不相容ie8及以下,jq的話獲取class不影響這裡,假如要這樣操作的話,你需要寫個方法 function getel...

小程式元件獲取元素寬高失效 和canvas繪製問題

解決辦法 在自定義元件內獲取必須用selectorquery.in component exec const query wx.createselectorquery in this 這一句是最重要的,要用.in this this傳入的是自定義元件的例項。否則獲取到的rect值為null 如果你的...