代码之家  ›  专栏  ›  技术社区  ›  user782104

获取jquery/css/javascript中相同类元素的最小宽度

  •  1
  • user782104  · 技术社区  · 13 年前
    <img class = "draggable moveable" id = "1" style="width:20px;" >...</img>
    <img class = "draggable printable" id = "2" style="width:50px;" >...</img>
    <img class = "draggable moveable" id = "3" style="width:10px;" >...</img>
    

    对于上面的例子,如何实现jquery/css选择器来获得同一类的最小宽度?(在这种情况下是10倍)

    $('.draggable').('min:width');
    

    有这样的犹太教堂吗?谢谢

    2 回复  |  直到 13 年前
        1
  •  2
  •   Ram    13 年前

    没有这样的语法,您可以根据元素的宽度对其进行排序并使用 first 方法:

    $('.draggable').sort(function(a, b){
       return $(a).width() > $(b).width(); 
    }).first();
    

    http://jsbin.com/igovaw/1/edit

    请注意 img 元素没有结束标记。

    如果你想得到最小宽度,而不是你可以使用的元素 map 方法:

    var w = $('.draggable').map(function(){
       return $(this).width(); 
    }).get();
    
    var min = Math.min.apply(null, w);
    
        2
  •  2
  •   Barmar    13 年前
    var minwidth = undefined;
    $('.draggable').each(function () {
        width = parseInt($(this).css('width'));
        if (minwidth === undefined || width < minwidth) {
            minwidth = width;
        }
    });