私はこれが本当にうまくいったjsの問題を抱えています。要約でgetElementsByTagNameはトップレベルタグのみを取得しますか?
、私はp
タグは、すぐに私はすべて、のdivラッパーを削除するようdiv
<div id="main">
<p>see</p>
</div>
内にあるが、場合、私は(document.getElementsByTagName("p"))[0]
を使用している場合が見つからない要素を取得物事が働く。
30分後、私はこの単純なコードに問題を低減しました:ファイルに上記の入れ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>ttttttttttttttttttttt</title>
</head>
<body>
<div id="main">
<p>see</p>
</div>
<script type="text/javascript">
var myobj = document.createElement("div");
myobj.innerHTML='yesyes';
document.body.insertBefore(myobj, (document.getElementsByTagName("p"))[0]);
</script>
</body>
</html>
。 FirefoxまたはChromeまたはIE8で開きます。成功した場合は、「はい」と表示されます。 <div id="main">
ラッパーを削除すると動作します。
何か私は理解していないようです。getElementsByTagName
??
+1具体的に代わりに使用するには、問題は 'refChild'は彼が' insertBefore'を呼び出しているれている要素では見られないということです。 –
もう一つの可能性は 'var p = document.getElementsByTagName(" p ")[0]です。 p.parent.parentNode.insertBefore(myObj、p); ' –
"メイン "IDに依存しないように見えるので、私はFelixのバージョンを使用します。 –