代码之家  ›  专栏  ›  技术社区  ›  Millhorn

如何用一个变量(vanillaJS)更改多个元标签描述?

  •  1
  • Millhorn  · 技术社区  · 5 年前

    我的网站上有以下元标签:

    <meta name="description" content="content here" />
    <meta itemprop="description" content="content here">
    <meta property="og:description" content="content here" />
    

    所有这3个元属性在我的网站上都是必要的。然而,有没有一种方法可以引用JS变量中的单个描述,我可以将其传递给这些内容属性中的每一个?

    3 回复  |  直到 5 年前
        1
  •  2
  •   Maik Lowrey    5 年前

    您可以将querySelector与meta[key=value]一起使用,然后使用setAttribute(key,value)设置Attribute。

    document.querySelector("meta[name='description'" ).setAttribute("content", "some new meta description");
    
    document.querySelector("meta[itemprop='description'" ).setAttribute("content", "some new meta description");
    
    document.querySelector("meta[property='description'" ).setAttribute("content", "some new meta description");
    
    
        2
  •  1
  •   dev61057    5 年前

    这里有一个简单的方法

    <meta class="meta" name="description" content="content here" />
    <meta class="meta" itemprop="description" content="content here">
    <meta class="meta" property="og:description" content="content here" />
    <script>
        document.querySelectorAll(".meta").forEach((el) => {
            el.setAttribute("content", "your content");
        })
    </script>
    
        3
  •  0
  •   Mustak Ahmed Khan    5 年前

    let text = 'hello world';
    
    
    let Allmeta = document.querySelectorAll('meta');
    
    Allmeta.forEach((meta) => {
        if (meta.getAttribute('name') == 'description' || meta.getAttribute('itemprop') == 'description' || meta.getAttribute('property') == 'og:description') {
            meta.setAttribute('content',text)
        }
    });