元素.getElementsByTagName可以获取指定id下的div标签吗

发布于 2022-09-07 12:42:12 字数 189 浏览 21 评论 0

题中的“元素”是之前之前通过var abc=document.getElementById()方法获取的一个div,
再使用var comn=abc.getElementsByTagName("div")方法获取abc底下的div的集合却报错是怎么回事?
难道不能用getElementsByTagName()方法获取一个div下的所有div的集合吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拔了角的鹿 2022-09-14 12:42:12

建议附上代码,我正好遇上这种情况,于是试了一下,是可以的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>getElementsByTagName</title>
</head>
<body>
    <div class="box">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
        <div id="content">
            <ul class="con">
                <li>11</li>
                <li>22</li>
                <li id="li3">33</li>
            </ul>
            <div></div>
        </div>
    </div>
</body>
<script type="text/javascript">
    var content = document.getElementById('content');
    var lis = document.getElementsByTagName('li');
    var box = document.getElementsByClassName('box');
    console.log(content);
    console.log(lis);
    console.log(box);
    var lis2 = box[0].getElementsByTagName('li');
    console.log("类.标签",lis2);//类.标签HTMLCollection(8) [li, li, li, li, li, li, li, li#li3, li3: li#li3]
    var lis3 = content.getElementsByTagName('li');
    console.log("id.标签",lis3);//id.标签HTMLCollection(3) [li, li, li#li3, li3: li#li3]
    var divs = content.getElementsByTagName('div');
    console.log("id.标签",divs);//id.标签HTMLCollection [div]
    var con = content.getElementsByClassName('con');
    console.log("id.类",con);//id.标签HTMLCollection [ul.con]
    var con2 = box[0].getElementsByClassName('con');
    console.log("类.类",con2);//类.类HTMLCollection [ul.con]
    var con3 = content.getElementById('li3');
    console.log("id.id",con3);//报错
    var content2 = box[0].getElementById('content');
    console.log("类.id",content2);//报错
</script>
</html>

补充:忽然发现有时候会使用“id.标签”会报错,可能是变量名的原因,可不用变量名,直接复合可使用(如document.getElementById().documentsByTagName())或者更换变量名

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文