2010-05-14 41 views
0

有誰知道一個jQuery插件或代碼段能夠根據內容自動文本對齊表中的單元格嗎?如何在表格中設置文本對齊方式

具體而言,除非單元格中存在可見的非數字相關字符,否則所有表格單元格都將右對齊,然後將其左對齊。我想用這樣的正則表達式中的細胞識別非數字字符相關:

/[^0-9% +-()]/ 

是否有一個真正簡單的方法來做到這一點? 我想是這樣的:

$("td:contains('[^0-9% +-()]')").addClass("left"); 

會做的伎倆,但我不認爲「包含」可以採取正則表達式。

回答

1

您可以使用過濾功能:

$("td").filter(function(){return /^[0-9.%$()]+$/.test($(this).text())}).addClass("left"); 
+0

我不得不在這裏修改正則表達式以匹配原始(與unsanchored與否定字符集),因爲我想左對齊任何不基於數字的字段。 這個例子雖然更簡潔,但使用靜態正則表達式(測試而不是匹配),並假設整個表已經是正確對齊的(恰巧它是)。 '過濾器'功能是一個很好的學習。 – ericslaw 2010-05-17 14:39:15

1
$(function(){ 
    $("table td").each(function(){ 
     if($(this).text().match(/^[0-9.%$()]+$/)){ 
     $(this).addClass("right"); 
     } else { 
     $(this).addClass("left"); 
     } 
    }); 
    }); 
+0

加入一些字符缺失你的正則表達式使這個工作(缺少加和空間的字符集)。 – ericslaw 2010-05-17 14:32:02

相關問題