jquery追加和javascript appendChild不适用于html标签期间

时间:2011-07-16 03:35:43

标签: javascript jquery append appendto

我开始尝试在<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中尝试过。

虽然我不想让自己变得像个白痴,但如果有人看到我犯了一些愚蠢的错误,我会很高兴。

由于

2 个答案:

答案 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);
}

但是我甚至不确定在加载页面

之后是否会解释元标记