2012-07-01 56 views
0

試圖通過收藏夾對MetaFilter上的評論進行排序。通過在收藏夾鏈接使用TinySort,抓住title屬性這樣做:jQuery TinySort混合文字和數字不工作

$('div.comments').tsort('span.smallcopy>span>span>a',{attr:'title',order:'desc'}); 

但混合文字和數字無法正常工作,因爲我得到這個(5,58,4,3,39, 32,2 ...)例如:http://i.imgur.com/7N1Ln.jpg

代替(58,39,32,5,4,3,2 ...)

我使用的是最新版本的TinySort 1.3.27

我甚至試圖從標題屬性中刪除空間,沒有運氣:

$('span.smallcopy>span>span>a').attr('title', function() { 
    return this.title.replace(/\s/g, ''); 
}); 
+0

當你刪除'order:'desc''結果是什麼當你調用'tsort'方法'$('div.comments')。tsort('span.smallcopy> span> span> a',{attr:'title'});'? – ClydeFrog

+0

它不工作或者沒有'order:'desc'它只是變成(2,32,39,3,4,58,5 ...) – srbrussell

+0

你能提供一些html代碼給我們,所以我們可以獲取您網站的更大圖片? – ClydeFrog

回答

1

嗯......聽起來像是一個錯誤,明天下午我會看看,如果確實是一個錯誤,請更新源代碼。

CNC中

的@title是一個字符串,因爲它說像「4人標記這是最喜歡的。」那麼這種排序在技術上是正確的。

如果它本來只是一個號碼,然後tinysort會分析它看作和分類不同。

所以這裏的解決方案可能是第一個使用jQuery使用標題排序上設置一個額外的屬性,然後。像這樣,例如:

$('span.smallcopy').find('a:last').each(function(i,el){ 
    var el=$(this); 
    el.attr('data-favorites',parseInt(el.attr('title'))); 
}); 

然後做那種。 還沒有嘗試過,但也許你應該看看這http://tinysort.sjeiti.com/#returnonlysorted,因爲來源看起來相當凌亂(br右後div: - /)

+0

感謝您的關注。接下來我要嘗試的是從屬性中提取數字,附加另一個標籤,然後根據該標籤進行排序。 – srbrussell

+0

你能提供一個比metafilter.com更具體的uri嗎?該網站看起來不像你的截圖(我看到#069背景的東西)。唯一的地方,我看到最喜歡的是在這裏http://www.metafilter.com/home/popularfavorites,這些已經排序serverside(沒有span.smallcopy被發現)。 – Sjeiti

+0

哦,等待...從截圖中的Google搜索字符串中找到頁面... – Sjeiti