javascript - 访问 HTMLcollection 时获取 null

标签 javascript html reactjs tabs htmlcollection

我有 4 个带有列表的选项卡,以便为它们指定标题。我想访问每个选项卡的标题,但我只能访问整个 HTML 集合。使用 react 。

import React from 'react';
import {Component} from 'react';

class tabs extends Component {

    render() {
        return (
            <div className={"tabs"}>
                <ul>
                    <li><a>Class 1</a></li>
                    <li><a>Class 2</a></li>
                    <li><a>Class 3</a></li>
                    <li><a>Class 4</a></li>
                </ul>

                {console.log(document.getElementsByTagName("li"))};
                //full collection with length of 4

                 {console.log(document.getElementsByTagName("li").length)};
                 //0


       {console.log(document.getElementsByTagName("li").item(0).innerHTML)};
                  //"Cannot read property 'innerHTML' of null"

            </div>
        )
    }
}

export default tabs;

最佳答案

那是因为当您声明 JSX 时,它不会立即打印到 DOM 中。首先,它将由 Babel 转译,在 render 钩子(Hook)之后,React 将更新 DOM。但是,嘿,在中间你试图访问这些 DOM 元素......

关于javascript - 访问 HTMLcollection 时获取 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49368706/

相关文章:

html - 具有动态元素高度的 Flexbox 列

javascript - TypeError : undefined is not an object , 项目来自 API 的数组

javascript - 如何修复 eslint 箭头体错误中的 block 语句?

javascript - yui 3 图表 : how to format dates in chart axis (YUI 3. 3.0 预览版 3)

javascript - Reactjs this.state 给出 Uncaught TypeError : Cannot read property 'groupsData' of null

javascript - 我怎样才能得到一个 div 及其所有子项及其各自的 computedStyles?

Javascript——在计算的同时操作DOM

reactjs - React 的 useEffect 中更高级的比较

javascript - 单击输入字段时更改 div 背景颜色

javascript - 如何固定箭头的位置不依赖于 Jquery 工具提示中的内容?