在看本篇以前,期待讀者先了解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 如果你的...