3 レベルの深さのネストされた UL を使用してツリー メニューを作成します。ボトムス 2 レベルは、デフォルトで非表示/折りたたまれています。下の 3 番目のレベルは、「左」と「右」の値の比較を示しています。すべての「左」スパンを同じ幅にしたいのですが、固定幅にはなりません。そのようなすべてのスパンの最大幅を見つけるためのjqueryループについて考え、戻ってすべてをその最大幅に設定しました。しかし、非表示の場合、jquery width() は常に 0 です。したがって、最初にリスト全体を展開し、この作業を行ってから、もう一度折りたたむ必要があります。それでも、jquery を介して幅を設定しても何も起こらなかったようです。スパンには style="width: 93px;" があります 実際の幅は変わりませんでした。これらの要素の幅をリンクする CSS2/3 の方法はありますか? それともより良いJavaScriptの方法ですか?
<ul class="hidden">
<li>
<span class="left">cat</span>
⇔
<span class="right">dog</span>
</li>
<li>
<span class="left">bird</span>
⇔
<span class="right">horse</span>
</li>
<li>
<span class="left">some long text</span>
⇔
<span class="right">more long text</span>
</li>
</ul>
span.left{text-align:right;}
ul.hidden{display:none;}