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 を使用して、append と appendTo の両方の jquery 関数を試しました。両方の関数を使用して追加できます。しかし、頭、体、p で試してみましたが、どれもうまくいきません。

私はサーバーに何らかのセキュリティ設定があり、サーバーを停止しているのではないかと考え始めています。

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 に答える