我开始尝试在<head>
标记中添加元标记,但现在发现我无法向任何html标记添加任何内容。不是<body>
,<p>
,<h1>
,除了它与div id和类一起工作正常。
这是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');
});
现在我尝试了jquery函数append和appendTo与div的p#测试,我可以使用这两个函数附加到它。然而,我尝试使用头部,身体,p,但它不适用于任何一种。
我开始怀疑我的服务器上是否有某种安全设置正在停止它,因为我已经使用了追加附加文本和CSS样式并附加到正文之前并没有问题。
firebug没有错误,我在FF和Chrome中尝试过。
虽然我不想让自己变得像个白痴,但如果有人看到我犯了一些愚蠢的错误,我会很高兴。
由于
答案 0 :(得分:2)
您的所有代码都不正确:
首先,对于你的javascript版本,appendChild需要一个节点,而不是一串HTML。
您可以执行以下操作:
var meta = "<meta name='og:title' content='some random content' />";
var head = document.getElementsByTagName('head')[0];
head.innerHTML = meta+head.innerHTML;
您的jQUery方法都缺少打开的HTML标记。
答案 1 :(得分:1)
您没有正确创建元素
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);
}
但是我甚至不确定在加载页面
之后是否会解释元标记