JS
1<script> 2 $(function() { 3 var hotelpics = $("<div>", { 4 "class": "hotelpics" 5 }); 6 var mainpic = $("<div>", { 7 "class": "mainpic" 8 }); 9 var others = $("<div>", { 10 "class": "others" 11 }); 12 var hotelinfo = $("<div>", { 13 "class": "hotelinfo" 14 }); 15 var hotelname = $("<h2>", { 16 "class": "hotelname" 17 }); 18 var tags = $("<div>", { 19 "class": "tags" 20 }); 21 var rating = $("<div>", { 22 "class": "rating" 23 }); 24 var price = $("<div>", { 25 "class": "price" 26 }); 27 hotelpics.append(mainpic, others); 28 hotelinfo.append(hotelname, tags, rating, price); 29 console.log(hotelpics.add(hotelinfo)); 30 console.log(hotelpics.wrap('<div>')); 31}); 32</script>
このコードを実行すると1つ目のconsole.log()の結果は以下となります。これは希望している形なので問題ありません。
HTML
1<!--兄弟要素が並んでいる--> 2<div class="hotelpics"> 3<div class="mainpic"></div> 4<div class="others"></div> 5</div> 6 7<div class="hotelinfo"> 8<h2 class="hotelname"></h2> 9<div class="tags"></div> 10<div class="rating"></div> 11<div class="price"></div> 12</div>
この2つの兄弟要素を囲うdiv要素をつけるためにwrap()をしましたが表示結果がこの様になります。
HTML
1<div class="hotelpics"> 2<div class="mainpic"></div> 3<div class="others"></div> 4</div>
以下の要素がなくなり、divも挿入されていません。
<div class="hotelinfo"> <h2 class="hotelname"></h2> <div class="tags"></div> <div class="rating"></div> <div class="price"></div> </div>
以下が希望の値です。
HTML
1<div class=""> 2 <div class="hotelpics"> 3 <div class="mainpic"></div> 4 <div class="others"></div> 5 </div> 6 7 <div class="hotelinfo"> 8 <h2 class="hotelname"></h2> 9 <div class="tags"></div> 10 <div class="rating"></div> 11 <div class="price"></div> 12 </div> 13</div>
機能しない理由としては、兄弟要素が2つ並んでいるからでしょうか。
ドキュメントを良く読めば分かりそうな気がします。

回答1件
あなたの回答
tips
プレビュー