【问题标题】:getElementsByTagName is not a function [duplicate]getElementsByTagName 不是函数[重复]
【发布时间】:2015-07-08 18:07:08
【问题描述】:

我真的很挣扎。我想更改 img 标签的 src 属性并收到错误消息 getElementsByTagName is not a function。以下是我的测试标记

<html>
<body>
<div class="logo">
<img src="/a.jpg">
</div>
<script>
document.getElementsByClassName('logo').getElementsByTagName('img')[0].src ="/b.jpg";
</script>
</body>
</html>

感谢任何建议。

【问题讨论】:

  • 因为 getElementsByClassName 返回一个集合。

标签: javascript html


【解决方案1】:

getElementsByClassName 返回一个集合。 所以你只需要这样做:

document.getElementsByClassName('logo')[0].getElementsByTagName('img')[0].src ="/b.jpg";

【讨论】:

    【解决方案2】:

    document.getElementsByClassName 返回文档中所有类的列表。试试下面的代码:

    document.getElementsByClassName("logo")[0]获得第一堂课。

    【讨论】:

      【解决方案3】:
      getElementsByClassName()
      

      返回元素的集合。 因此,将您的代码更改为

      document.getElementsByClassName('logo')[0].getElementsByTagName('img')[0].src ="/b.jpg";//getElementsByClassName('logo')[0]
      

      请参阅docs

      【讨论】:

        【解决方案4】:

        Elements 是已找到元素的实时 HTMLCollection。

        Names 是一个字符串,表示要匹配的类名列表;类名用空格分隔。

        getElementsByClassName 可以在任何元素上调用,而不仅仅是在文档上。调用它的元素将用作搜索的根。

        document.getElementsByClassName('logo')[0].getElementsByTagName('img')[0].src ="/b.jpg";
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-05-26
          • 2021-02-27
          • 2019-05-30
          • 2020-03-22
          • 2020-06-26
          • 2020-12-18
          • 2020-06-06
          相关资源
          最近更新 更多