2010-10-12 55 views

回答

1

要獲得像素寬,你可以只循環,雖然那種濫用.width()功能,例如:

var cw = 0, widest; 
$("h2").width(function(i, w) { if(w > cw) {widest = this; cw = w;} return w; }); 
//widest == widest h2 element 
//$(widest).addClass("widest"); 

You can test it out here。在這個函數w裏面是當前寬度,所以我們只是看到它是否比我們當前最寬的寬度寬,如果是這樣,將當前寬度設置爲新的寬度,並將當前寬度設置爲當前寬度<h2>, 。

可以使用.text()做字符數類似的東西:

var cw = 0, widest; 
$("h2").text(function(i, t) { if(t.length > cw) {widest = this; cw = t.length;} return t; }); 
$(widest).addClass("widest");​ 

You can test that version here

0

他們都很相似,你必須遍歷每一個,並檢查每個長度或寬度。像

var maxWidth = 0; 

function getLongest(){ 
    var elementWidth, 
    domNode; 

    $("h2").each(function(i, element){ 
    elementWidth = $(element).width(); 
    if (elementWidth > maxWidth){ 
     domNode = element; 
     maxWidth = elementWidth; 
    } 
    } 
    return domNode; 
} 

東西可以替代$(element).width()$(element).text().length和重命名適當瓦爾。

請注意,如果2個元素具有完全相同的寬度,則只會選擇第一個元素。

0
$(document).ready(function() { 
    var longestH2 = null; 
    $("h2").each(function(k, v) { 
     if ($(v).width() > $(longestH2).width() || longestH2 == null) longestH2 = v; 
    }); 
    $(longestH2).css("border", "3px solid red"); 
});