0

次の HTML コードを取得しました。

<div class="tab">
    <a href="#">SPECS</a>
    <div class="sub-menu">
        <a href="#">Specs 1</a>
        <a href="#">Specs 2</a>
        <a href="#">Specs 3</a>
    </div>
</div>
<div class="tab">
    <a href="#">GALLERY</a>
    <div class="sub-menu">
        <a href="#">Gallery 1</a>
        <a href="#">Gallery 2</a>
        <a href="#">Gallery 3</a>
    </div>
</div>

私がやろうとしているのは、CSS で .sub-menu の幅を指定したくないということです。div の内容とは異なり、動的にしたいのです。jQueryでこれをやってみました:

var width = $(".sub-menu").width();
$(".sub-menu").css("width", width);

しかし、それは機能していません。すべての .sub-menu div に 0px の幅を与えています。多分 .each 関数を使用したいので、すべての .sub-menu がその幅を取得し、css として適用されます。私が十分に明確だったことを願っています。

ありがとう。

4

4 に答える 4

1

これを CSS に追加します。

.sub-menu {display:inline-block}

これにより、メニューがコンテンツに必要な幅になり、それ以上はなくなります。

于 2013-09-09T17:43:25.417 に答える
1

width()問題は、数値を返すことです。ただし、CSS ルールではNpx. これを使って:

var width = $(".sub-menu").width() + "px";
$(".sub-menu").css("width", width);
于 2013-09-09T17:44:50.043 に答える
0
$(function() {

  var smWidth = $(".sub-menu").width();

  $(".sub-menu").css({ width: smWidth + 'px' });

});
于 2013-09-09T21:06:52.420 に答える