• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2種類のリスト項目をjQueryを使って揃えたい)

2種類のリスト項目をjQueryを使って揃えたい

このQ&Aのポイント
  • スマートフォンサイト制作中で、2種類のリスト項目を横並びに揃えたい方法を教えてください。
  • jQueryを使用して、classが異なる2つのul要素のリスト項目を揃える方法を教えてください。
  • HTMLのul要素のリストを動的に生成している場合でも、jQueryを使ってリスト項目を横並びに揃える方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 すごく簡単に実装するならこんな感じになると思います。 ブランクのliが良いか悪いかはわかりませんが、高さを揃えるとかのほうがスマートな気がします。 ==== 動作サンプル http://hppg.moe.hm/okwave/qa/q7362658/ ==== JavaScript $().ready ( function() { // 左側のリスト var $ul1 = $('div.ul1 ul li' ); // 右側のリスト var $ul2 = $('div.ul2 ul li' ); // 二つの差を求める var s = $ul1.length - $ul2.length; // 差がマイナスの場合は左側が足りないと判断し追加対象となるターゲットを設定 var $target = s < 0 ? $ul1 : $ul2; // 差の絶対値を求めその回数をループ for ( var i = 0; i < Math.abs(s); i ++ ) { $target.parent().append('<li />'); } }); ==== HTML <div class="ul ul1"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </div> <div class="ul ul2"> <ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> </ul> </div>

mc0816
質問者

補足

LancerVIIさん ありがとうございます。 スクリプトに加え、 一つ一つの詳細なコメントと、 それに動作サンプルまで… 本当にありがたいです。感謝です。 おかげさまで、期待通りに動きました!! ただ、分からないところが一点。 ターゲットを設定するところの var $target = s < 0 ? $ul1 : $ul2; なのですが、 s < 0 ? $ul1 : $ul2; ってどういう意味か、簡単でよいので教えていただけますか? ?とかって、よく分かってないので 簡単で全然、大丈夫ですので、教えていただけると助かります。 ちょっと本とかを調べたのですが、 やっぱり分からなかったので。 よろしかったらお願いいたします。 重ね重ね、申し訳ありません。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 >ただ、分からないところが一点。 >ターゲットを設定するところの >var $target = s < 0 ? $ul1 : $ul2; >なのですが、 >s < 0 ? $ul1 : $ul2; キーワードとしては三項演算子と呼ばれるものです。 $target = s < 0 ? $url1 : $url2 の場合は s<0がtrueの場合は$url1,s<0がfalseの場合は$url2を$targetに代入するという処理です。 if ( s < 0 ) { $target = $url1; } else { $target = $url2; } と、動きは等価です。 (条件) ? 真の場合 : 偽の場合; となります。

mc0816
質問者

お礼

LancerVIIさん ありがとうございます。 なるほど~ if文がそうやって書けるなんて。 大変、勉強させていただきました。 LancerVIIさんの解説はとても分かりやすかったです。 本当に感謝です。 これからも、またこちらでお世話になる質問をするかもしれませんが その際は、どうぞ宜しくお願いいたします。 がんばって、jQueryをもっと、もっと勉強します。 ありがとうございました!

関連するQ&A