我试图让这个var li = ul.getElementsByTagName('li');
在React中工作但是它返回null,因为我猜dom还没有完全加载。所以我正在寻找这样做的反应方式,或者在dom加载之前不让它运行的方法
答案 0 :(得分:1)
您需要在componentDidMount上运行代码。您还需要先获得ul
。
class MyComponent extends React.Component {
componentDidMount() {
let ul = document.getElementsByTagName('ul')[0];
let li = ul.getElementsByTagName('li');
console.log(li); // you should have an array with list items inside an specific unordered list
}
render() {
return (
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
)
}
}
我建议您查看querySelector和querySelectorAll,因为它们可能有用。