微信小程序如何获取 DOM 元素样式?
小程序提供了一系列 API 来操作 DOM,但能否获取 DOM 元素的样式却是一个常见问题。
根据某开发者的提问,其希望获取某个被赋予背景色的
元素的样式,但该样式并非行内样式。那么,小程序能否满足这个需求呢?
答案是否定的。小程序的设计理念是不允许访问 DOM 属性。但是,你可以尝试使用 querySelector* 或 getElement* 等 API 尝试获取 DOM 元素。
如果依然无法实现目标,不妨转换一下思路。你可以将需要操作的颜色值与属性或状态一起管理,这样在使用时会更便捷。
以下是一个示例代码,用于管理订单状态及其颜色值:
export const orderProcess = { default: { label: '默认', color: "#848484", key: 0 }, pre: { label: '沟通中', color: "#ffd36e", key: 1 }, ... finish: { label: '订单完成', color: "#87d068", key: 8 }, cancel: { label: '作废', color: "#dedede", key: -1 }, }; // 订单状态集合 export const orderProcessList = Object.values(orderProcess); // 获取订单状态 export const getOrderProcess = function (key) { const finder = orderProcessList.find(item => item.key === Number(key)); return finder || ErrorData; };