0

我开始尝试在标签中添加元标签,<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');
});

现在我用 div 的 p#test 尝试了 jquery 函数 append 和 appendTo ,我可以用这两个函数追加到它。但是我尝试了头部,身体,p,但它不适用于它们中的任何一个。

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

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

虽然我不想觉得自己像个白痴,但如果有人看到我犯的一些愚蠢的错误,我会喜欢的。

谢谢

4

2 回答 2

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 标记。

于 2011-07-16T03:45:45.113 回答
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);
}

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

于 2011-07-16T06:24:41.660 回答