【问题标题】:jQuery calculate number of list items, then multiply that by number and set as widthjQuery计算列表项的数量,然后将其乘以数字并设置为宽度
【发布时间】:2010-10-18 11:34:33
【问题描述】:

我试图通过检查存在多少li's 并将其乘以li ($("ul.sections").width()) 的宽度来设置动态宽度为ul.sections,在这种情况下恰好是910px。

我不确定如何返回当前可见列表项的数量。也许是这样的?

$('ul.sections').width($("ul.sections li").length() * $("ul.sections li").width());

这显然还行不通。有什么想法吗?

【问题讨论】:

    标签: jquery width


    【解决方案1】:

    .length 是属性而不是方法,所以只需像这样使用$("ul.sections li").length

    $('ul.sections').width($("ul.sections li").length * $("ul.sections").width());
    

    如果你有多个部分,这将是 jQuery 1.4+ 版本:

    $('ul.sections').width(function(i, w) { return $(this).find('li').length * w; });
    

    【讨论】:

    • 谢谢,这是正确的。我应该离开()。我以为我与其余部分相距甚远,但我非常接近!终于掌握了稍微中间的 jQuery yessss 的窍门 :)
    【解决方案2】:

    有一个:visible jQuery 选择器

    在 ul.sections 中获取所有可见的 <li>'s

    $("ul.sections li:visible")
    

    现在你可以设置宽度了

    $("ul.sections").width($("ul.sections li:visible").length * $("ul.sections").width()));
    

    【讨论】:

    • 之前忘记添加 :visible 选择器了,谢谢提醒。
    【解决方案3】:

    【讨论】:

    • size().length 都返回正确的数字。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2013-03-27
    • 1970-01-01
    • 2023-03-22
    • 2012-05-11
    • 2011-08-01
    • 2012-02-26
    相关资源
    最近更新 更多