微信小程序for循环被点击dom修改样式
时间: 2023-09-20 10:10:20 浏览: 94
要实现这个需求,需要在小程序中使用 WXML 和 JavaScript。
首先,在 WXML 中使用 `wx:for` 循环渲染出需要的 DOM 元素,例如:
```html
<view wx:for="{{items}}" wx:key="{{index}}" bindtap="handleTap" data-index="{{index}}" class="{{index === activeIndex ? 'active' : ''}}">
{{item}}
</view>
```
其中,`items` 是需要渲染的数组,`activeIndex` 是当前选中的元素的索引,`handleTap` 是点击事件的回调函数。
然后,定义 `handleTap` 函数,在函数中获取被点击的元素的索引,并更新 `activeIndex` 的值,例如:
```javascript
Page({
data: {
items: ['item1', 'item2', 'item3'],
activeIndex: -1
},
handleTap: function(e) {
const index = e.currentTarget.dataset.index;
this.setData({
activeIndex: index
});
}
})
```
最后,在 CSS 中定义 `.active` 类的样式,例如:
```css
.active {
background-color: red;
color: white;
}
```
这样就可以实现当用户点击某个元素时,该元素被高亮显示的效果。
阅读全文