質問: array_rand($rand_ad); echo $rand_ad[$ad_disp]; ?> あいうえお かきくけこ ``` 最初のにclassをつける処理を行い、その下にを移動し、そのの中身をランダムで表示させたいのですが、 現在、ボックスの中のddに同じボックスが生成されてしまってます(原因も良く分からずです・・・)。 あいうえお ボックス(phpでランダム) かきくけこ と表示したいのですが、 現在下記のようになってしまいます。 あいうえお ボックス ボックス かきくけこ ご教授頂けると助かります。
回答: ブラウザの開発者ツールで確認していただくとわかると思いますが、PHP側で生成したHTML要素の中のPタグにもfirst-pクラスが追加されています。 first-pクラスのついている要素にPHPで生成したHTML要素を挿入しているため、2つ同じ要素が表示されています。 これは、 ``` $('.wapper p:first-of-type').addClass('first-p'); ``` の部分のセレクターの指定が**「wapperクラスを持つ要素配下の全ての 子孫要素 の中でfirst-of-typeというクラスを保持するPタグ」**となっているためです。 このセレクターの指定を**「wapperクラスを持つ全ての要素の 子要素 の中でfirst-of-typeというクラスを保持するPタグ」**に変えることで期待する動作となると思います。る動作となると思います。