子元素的JQuery calc宽度

时间:2017-06-26 07:44:52

标签: javascript jquery

我有一个像这样的列表

<ul class="example">
    <li>Something</li>
    <li>Something 2</li>
    <li>Something 3</li>
</ul>

我想要一个jquery代码来根据它们的数量来计算 li 的宽度。我尝试使用此代码,但它不起作用:(

$('.example > li').css('width', 100%/$('.example').length());

任何解决方案?

2 个答案:

答案 0 :(得分:2)

你做的一切都正确,你只是没有使用AllItemsFullPathWithTargetPath作为财产。

<Target Name="IncludeFoo" BeforeTargets="GetCopyToOutputDirectoryItems">
  <ItemGroup>
    <CompiledFoos Include="@(CompileFoo -> '$(OutputPath)%(RelativeDir)%(Filename).bin' )">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <TargetPath>%(RelativeDir)%(FileName).bin</TargetPath>
    </CompiledFoos>
    <AllItemsFullPathWithTargetPath Include="@(CompiledFoos->'%(FullPath)')"  />
  </ItemGroup>
</Target>
length
var elements = $('ul#ul > li');
var len      = elements.length;
var width    = (100 / len) + "%";

elements.css('width', width);

答案 1 :(得分:1)

length不是一个功能。这是一个属性。 Read More

并且您必须计算lengthli项,而不是ul包装它。

因此,我对您的代码进行了两处更改:

  1. length()修改为length

  2. 修改了选择器$('.example')$('.example li')

  3. &#13;
    &#13;
    $('.example > li').css('width', 100/$('.example li').length + '%');
    console.log($('.example li').length);
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul class="example">
        <li>Something</li>
        <li>Something 2</li>
        <li>Something 3</li>
    </ul>
    &#13;
    &#13;
    &#13;