javascript - 动态更改元数据 - 没有 jquery

标签 javascript

I found this link关于使用 jQuery 更改元数据 $("meta[property='og\\:title']").attr("content", result.title);,
但是可以用直接的 javascript 来完成吗?

我知道您可以像这样访问 items 属性 document.getElementById("myimage").setAttribute("src","another.gif"),
但我似乎无法更改元数据。

我正在尝试动态更改 Facebook 的元数据。

<meta property="fb:app_id" content="*************" />
<meta property="og:url" content="" />
<meta property="og:site_name" content="" />
<meta property="og:type" content="" />
<meta property="og:image" content="" />
<meta property="og:title" content="" />
<meta property="og:description" content="" />

最佳答案

假设您要修改的 meta 标记位于列表中的第一个,您可以执行以下操作:

var metaFB = document.getElementsByTagName("meta")[0];

现在您可以根据自己的喜好修改属性。

编辑:正如@Jamiec 指出的那样,即使它不是列表中的第一个,您也可以指定位置。如果您不知道在哪里,可以迭代元素检查属性:

var metaList = document.getElementsByTagName("meta");
for (var i = 0; i < metaList.length; i++) {
    if (metaList[i].getAttribute("property") == "fb:app_id") {
        metaList[i].content = "somenewcontent";
    }
}

关于javascript - 动态更改元数据 - 没有 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451917/

相关文章:

javascript - Bootstrap 按钮文本对齐

javascript - 使用 setinterval JavaScript 更新后数组计数不匹配

javascript - 在网络上编写数学证明的最佳方法是什么?

javascript - q.defer deferred.resolve 已弃用

javascript - 根据相似索引将 tbody td 附加到 th

javascript - 自定义文件输入

javascript - 如何删除数组内对象的值

javascript - 无法确定 undefined() 的类型

javascript - firebase.storage() 不带参数或使用 Firebase App 实例

javascript - 这个 Javascript 的正则表达式是否正确