我开始尝试在<head>标记中添加元标记,但是现在发现我无法向任何html标记添加任何内容。不是<body><p><h1>,什么也没有,但是它可以与div id和class一起正常工作。

这是HTML

    <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="append.js"></script>
<title>appendTest</title>
</head>
<body>

<div id="test">
<p>
Hello World
</p>
</div>

</body>
</html>


这是我尝试过的append.js示例

    function loadmeta(){
var meta = "<meta name='og:title' content='some random content' />";
document.getElementsByTagName('head').item(0).appendChild(meta);
}

window.onload = function(){
loadmeta();
}




/*jquery style*/

$(document).ready(function(){
$('html').append('meta name="testing" content="some content"/>');
});

$(document).ready(function(){
$('meta name="testing" content="some content"/>').appendTo('html');
});


现在,我使用div的p#test尝试了jquery函数append和appendTo,并且可以同时使用这两个函数对其进行追加。但是我尝试过用头,身体,p进行操作,但对任何一个都不起作用。

我开始怀疑服务器上是否存在某种安全设置正在阻止它,因为我使用了append来附加文本和CSS样式,以及之前附加到正文,并且没有问题。

firebug没有给出错误,我已经在FF和Chrome中尝试过了。

虽然我不想让自己像个白痴,但如果有人看到我犯了一些愚蠢的错误,我还是很喜欢的。

谢谢

最佳答案

您没有正确创建元素

function loadmeta(){
  var meta = document.createElement("meta");
  meta.name='og:title'; // or meta.setAttribute("name","og:title");
  meta.content='some random content';
  document.getElementsByTagName('head')[0].appendChild(meta);
}


但是我什至不确定页面加载后是否会解释您的元标记

08-04 02:22