我想使用与getElementById
类似的东西来选择我的元素并更改文本颜色。我目前有一个无序列表,并希望根据if条件更改每个人的颜色。
<div style={styles.passwordRules}>
<ul style={styles.listOne}>
<li style={styles.li}><span style={styles.error} id="test">8 a 16 caratteri</span></li>
<li style={styles.li}><span style={styles.fontNormal}>Carattere maiuscolo</span></li>
</ul>
<ul style={styles.listTwo}>
<li style={styles.li}><span style={styles.fontNormal}>Un numero</span></li>
<li style={styles.li}><span style={styles.fontNormal}>Carattere minuscolo</span></li>
</ul>
<ul style={styles.listThree}>
<li style={styles.li}><span style={styles.fontLink}>Nessuna informazione personale</span></li>
</ul>
</div>
这意味着,例如,我想要类似于此的东西:
if(text === 'foo') {
//change colour to grey
}
请注意,我无法使用 getElementById
答案 0 :(得分:2)
为什么不这样做:
<li className={text === 'foo' ? styles.class1 : styles.class2 } .../>
答案 1 :(得分:0)
您可以使用以下方式执行此操作:
<li style={text ==== 'foo' ? _.extend(styles.style, styles.styleFoo) : styles.style }>
或使用ES6
<li style={text === 'fooo' ? Object.assign({}, styles.style, styles.styleFoo) : styles.style }>
答案 2 :(得分:0)
从Carl Edwards的答案中分出来,如果它只是你要改变的颜色,这应该可以解决问题:
<li style={{color: text === "foo" ? "trueColor" : "falseColor"}} ... />