dポイントプレゼントキャンペーン実施中!

画像と文章が1セットのものが複数あり(こんな感じのhtmlが複数あるのを)
<div>
<img>
<p>内容</P>
</div>

画像と文章を分けたい
<div>
<img><img><img>…
</div>
<div>
<p>内容</p><p>内容</p><p>内容</p>…
</div>

みたいにJavaScriptで組み替えたいのですが、可能でしょうか。

A 回答 (2件)

ご面倒をお掛けしますが、全角空白は削除してください。



<!DOCTYPE html>
<meta charset="UTF-8">
 <title>Test</title>
  
    <body>
     
       <div>
         <img alt="1">
          <p>内容1</P>
          </div>
          
          <div>
          <img alt="2">
         <p>内容2</P>
       </div>
     
    <div>
   <img alt="3">
  <p>内容3</P>
</div>

<div>
  <img alt="4">
   <p>内容4</P>
    </div>
     
       
        <script>
         const
           div0 = document.createElement ('div'),
           div1 = div0.cloneNode (false),
           imgs = [...document.querySelectorAll ('div>img')],
          ps = [...document.querySelectorAll ('div>p')],
         div = ps.map (e=> e.parentNode),
        body = div[0].parentNode;
     
    imgs.forEach (
   e=> div0.appendChild (e));
 
ps.forEach (
e=> div1.appendChild (e));

 div.forEach (
   e=> e.remove ());
    
     body.appendChild (div0);
       body.appendChild (div1);
        </script>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
まだ、htmlがはっきり決まっていなくて、ざっくりした質問で申し訳ありませんでした。いただいた回答を試したところ希望の形になりました。
これを元にやっていきたいと思います。
行き詰ったらまた質問すると思いますが、よろしくお願いいたします。

お礼日時:2021/11/16 10:59

画像の下に文章、の組を



画像を横に羅列して、その下に1行ずつ文章を表示する意味が不明。

JavaScriptで可能だが、そういう定型Scriptが在るわけじゃない。
プログラムなんだから、自分で好きに組めば良いだけ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2021/11/16 10:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!