我从和数组中添加文本元素,我喜欢遍历元素并更新claas名称。
我正在选择具有当前类名的元素,并且我还想添加新的类名。
是否可以添加新的类名,例如
element.className={'selected'}
Run Code Online (Sandbox Code Playgroud)
=
import React, { Component, useState, useEffect } from 'react';
import { render } from 'react-dom';
import Hello from './Hello';
import './style.css';
const App = () => {
const colors = [
'Red', 'Green', 'Blue', 'Brown', 'Yellow', 'Black'
]
const loopFun = () => {
for(let i=0; i<colors.length; i++){
const element = document.getElementsByClassName('test-'+i)
//element.className={'selected'}
}
}
return (
<div className='titles'>
{colors.map((color, i) => (
<p key={i} className={'title-'+i}>{color}</p>
))}
{loopFun()}
</div>
);
}
render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
const element = document.getElementsByClassName('test-'+i)
Run Code Online (Sandbox Code Playgroud)
这不应该是:
const element = document.getElementsByClassName('title-'+i)[0]
Run Code Online (Sandbox Code Playgroud)
然后只需添加:
element.classList.add('selected')
Run Code Online (Sandbox Code Playgroud)
然而,在反应中直接操作 dom 元素被认为是不好的做法。您应该使用useRef
钩子对虚拟 dom 进行操作。
element.classList.add('selected')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3114 次 |
最近记录: |