教えてください。jsを使用してテキスト段落の後にdiv画像コンテナを挿入しますが、画像は段落の前に表示されます。 コードは次のとおりです。どうもありがとうございます! _html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:21:21
オリジナル
1129 人が閲覧しました

html:



また会いましょう


<ボディ>
<ヘッダー>
また会いましょう
<ナビ>






欢迎您的访问!


《また会いましょう》歌曲の官方网站。 href="photos.html" title="写真">歌曲関連画像、
如果您想もっと知りたい場合は関係系私達







js:
function insertAfter(newElement,targetElement)
{

var parent=targetElement.parentNode;
if(parent.lastChild==targetElement)
{
parent.appendChild(newElement); //如果目标节点は最後の子节点、父节点追加新元素节点即可
}
else
{
parent.insertBefore(newElement,targetElement.nextSibling);  //不是最後次子节点,则将新节点插入目标节点的下一兄弟节点前

}
}

function addClass(element,value) //元素增加类
{
if(!element.className )
{
要素.クラス名=値;
}
else
{
NewClassName=element.className;
NewClassName+=' ';
NewClassName+=値;
element.className=新しいクラス名;
}
}

function prepareSlideshow()
{
if(!document.createElement)
{
return false;
}
if(!document.createTextNode)
{
return false;
}
if(!document.getElementById)
{
return false;
}
if(!document.getElementById("intro"))
{
return false;
}

var slideshow=document.createElement("div"); //新しい div コンテナのポイント
slideshow.setAttribute("id","slideshow"); // コンテナの設置id,方便後の操作
var preview=document.createElement("img"); // 新しい img 元素ポイントを作成し、そのプロパティを設定します
review.setAttribute("src","images/slideshow.gif");
review.setAttribute("alt","图片正在加下");
プレビュー.setAttribute("id","プレビュー" );
slideshow.appendChild(プレビュー); // 容器内に画像を追加します
var intro=document.getElementById("intro");
insertAfter(スライドショー,イントロ);
}

在网页中查看源代码显示是这样的:





欢迎您的访问!


《また会いましょう》歌曲の公式サイトにようこそ。もっと詳しく知りましょう
歌曲情報
, 查看
曲関連の写真
、さらに詳しく知りたい場合は、
お問い合わせ





Web ページのソース コードを表示すると、

タグの後に余分な

があり、元の

タグの前に余分な < ;p> があり、結果にエラーが発生します。なぜこのようなことが起こるのでしょうか?その解決方法は何ですか?私にお知らせください!

ディスカッションへの返信 (解決策)

これには w3c 標準が含まれており、ブロックレベルの要素を p タグ内にネストすることはできません。 HTMLを書くときに誤ってpタグ内にブロックレベルの要素を入れてしまうと、あらかじめpタグが閉じられてしまいますが、これは投稿者が説明している状況です(pタグ内にh1タグが置かれているのとは関係ありません)。 js に intro の ID を付けた p タグを配置します。これを div に書き換えるだけです

レイヤーをネストするには DIV を使用することをお勧めします

これには w3c 標準が関係しており、ブロックレベルの要素は使用できません。 p タグ内に入れ子にします。 HTMLを書くときに誤ってpタグ内にブロックレベルの要素を入れてしまうと、あらかじめpタグが閉じられてしまいますが、これは投稿者が説明している状況です(pタグ内にh1タグが置かれているのとは関係ありません)。 js. intro の ID を持つ p タグを配置します。それを div に書き換えるだけです

私の本来の意図は、js を段落に挿入するのではなく、js で insertAfter 関数を呼び出して段落の後に div を挿入することでした。注意深く機能しており、エラーはないようです。これを解決するにはどうすればよいでしょうか?


これには w3c 標準が関係しており、ブロックレベルの要素を p タグ内にネストすることはできません。 HTMLを書くときに誤ってpタグ内にブロックレベルの要素を入れてしまうと、あらかじめpタグが閉じられてしまいますが、これは投稿者が説明している状況です(pタグ内にh1タグが置かれているのとは関係ありません)。 js. intro の ID を指定した p タグを div に書き換えるだけです

申し訳ありませんが、今あなたの回答をよく読んでいませんでした。あなたの回答に従って問題を解決しました。ありがとうございます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート