2

我的客户希望我编写一段代码,首选 jQuery,它将所有链接设置为与最宽链接相同的宽度。这是HTML:

<div>
<h1>HEADER</h1>
<p style="text-align: right;" class="floatRight"><a href="#" class="small-button eLength"><span>BUTTON 1</span></a></p>
<p style="text-align: right;" class="floatRight"><a href="#" class="small-button eLength"><span>BUTTON 2</span></a></p>
<p style="text-align: right;" class="floatRight"><a href="#" class="small-button eLength"><span>BUTTON LONGEST</span></a></p>
</div>

CSS 将所有三个按钮的最小宽度设置为 180 像素。我正在寻找这一切都取决于课程:eLength

4

2 回答 2

10

您可以像这样获得最大宽度:

var widest = Math.max.apply(Math, $('.eLength').map(function() { 
    return $(this).width(); 
}));

并将其包装在一个 sliver 插件中:

$.fn.widest = function() {
    return this.length ? this.width(Math.max.apply(Math, this.map(function() { 
        return $(this).width();
    }))) : this;
};

$('.eLength').widest();
于 2012-11-07T17:25:30.307 回答
1

使用 John Resig 的Fast JavaScript Max/Min

Array.max = function(array) {
    return Math.max.apply(Math, array);
};

var widths = new Array();
$('.eLength').each(function(index) {
    widths.push($(this).width());
});

alert("Max Width: " + Array.max(widths));
于 2012-11-07T17:28:31.027 回答