小程序里面没有js那样的id选择器,更改样式只能通过this.setData的方式赋值class的值。

但是在循环的时候就不太好用了,会同时更改掉所有样式:

{{item.title}} {{item.content}}

点击“title”来控制“content”的显示隐藏,我这样写多只能显示一条内容(点击当前“title”的时候,会将其余的全部隐藏),如果要控制到只改变当前点击部位的样式,有好的解决方案吗?

网友回复:

麦***:

{{item.title}} {{item.content}}
Page({ data: { item: { list:[ { title: ‘USA’, content: ‘美国’, id: 0, hide: false}, { title: ‘CHN’, content: ‘中国’, id: 1, hide: true}, { title: ‘BRA’, content: ‘巴西’, id: 2, hide: true}, ] } }, showContent:function(e){ var that = this that.data.item.list[e.currentTarget.dataset.id].hide = !that.data.item.list[e.currentTarget.dataset.id].hide that.setData({ item:that.data.item }) }})

wx:for动态修改样式

我理解的你要的效果,如理解不对,请见谅。

徐***:

感谢麦琪,是这个效果。

那我调整下接口数据,多封装两个属性好了。

再次感谢指点。(抱拳)

T***:

动态setData就可以了,小程序嘛,你要抛弃jquery概念。

徐***:

嗯嗯,受教了,谢谢。

陈***:

<view class=``"{{item.hide ? 'contentHiden' : 'contentShow'}}"``>

        <text>{{item.content}}</text>

    </view>

这段代码在我的ios手机上没有起到“点击后隐藏/显示”的效果,我修改成以下代码才出现“点击后隐藏/显示”的效果,

请教可能的原因。

{{item.content}}  

爱盈利(aiyingli.com)移动互联网具影响力的盈利指导网站。定位于服务移动互联网创业者,移动盈利指导。我们的目标是让盈利目标清晰可见!降低门槛,让缺乏经验、资金有限的个人和团队获得经验和机会,提高热情,激发产品。