动态更改元数据 - 没有jquery

时间:2013-07-03 15:20:31

标签: javascript

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

我知道你可以访问像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="" />

1 个答案:

答案 0 :(得分:5)

假设您要修改的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";
    }
}