【问题标题】:How do I get document.getElementsByTagName('').innerHTML to make text between 2 tags?如何让 document.getElementsByTagName('').innerHTML 在 2 个标签之间生成文本?
【发布时间】:2020-04-21 18:39:30
【问题描述】:

我正在尝试使用 JavaScript 在多个网页上添加页脚,所以如果我想更改页脚,我只需在一个地方进行更改。 PHP 在此服务器上不可用,服务器端插入 (SSI) 也不可用,但 Perl、Python 和 Tcl 可用。我一直在尝试使用document.getElementsByTagName('footer').innerHTML = "text";,但它不会产生文本。我从 dev.mozilla 复制了这段代码,它告诉我我有多少个标签:

var footer = document.getElementsByTagName('footer');
var num = footer.length;
console.log('There is ' + num + ' footer in this document');

所以,我不知道 innerHTML 脚本有什么问题。我也尝试了段落标签,在两种情况下都得到了相同的结果。

【问题讨论】:

    标签: javascript html include


    【解决方案1】:

    我建议改用 textContent。看看为什么here

    要查看它是如何工作的,请在 StackOverflow 上将以下内容粘贴到浏览器控制台中,然后点击 enter

    document.querySelector('.site-footer').textContent = 'Custom footer content.'
    

    注意:将querySelector一起使用,而不是getElementByTagName

    干杯! ?

    【讨论】:

      【解决方案2】:

      在问这个问题之前,我已经搜索了 Python 包含,但没有任何运气,所以我停在那里,但是在问了这个问题之后,我认为我应该搜索 Perl/Ruby 包含。今天,我发现了I can use the Perl use function,所以我可以study that 并尝试实现它,尽管我对 Perl 完全陌生。 Ruby also appears capable,也许更多。我也没有使用 Ruby 的经验,但也许我应该从那里开始。

      【讨论】:

        【解决方案3】:

        我刚刚发现 getElementsByTagName() 会产生一个数组,所以我必须用 [0] 引用页脚的索引:

        var footerTags = document.getElementsByTagName('footer');
        footerTags[0].innerHTML = "test";
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-16
          • 1970-01-01
          • 1970-01-01
          • 2012-06-26
          • 1970-01-01
          相关资源
          最近更新 更多