我有這個網站如何將CSS僅應用於jQuery中的數字?
<tr>
<td>Test</td>
<td>324</td>
</tr>
我的默認CSS是text-align:left
但我想申請text-align:center
到包含數字的任何<td>
。
我有大約50個HTML文件,所以我不能手動添加類。
我有這個網站如何將CSS僅應用於jQuery中的數字?
<tr>
<td>Test</td>
<td>324</td>
</tr>
我的默認CSS是text-align:left
但我想申請text-align:center
到包含數字的任何<td>
。
我有大約50個HTML文件,所以我不能手動添加類。
您可以使用filter
和一些正則表達式魔術:
$('td').filter(function() {
return /^\d/.test($(this).text());
}).css('text-align', 'center');
上述正則表達式是有點簡單,如果你需要更精確的使用這一個:
/((?!\w+[^\s]))\d+\1/
以上將匹配(space)123
和123(space)
但不是123a
或asd 123
所以基本上只有數字和空格允許,如果這就是你要找的。要添加更多有效字符,只需將它們放置爲[^\s,]
即可,這將使逗號,
也有效。
$(function(){
$("td").filter(function(){
return (/^\s*\d*\.?\d+\s*$/).test(this.innerHTML);
}).css("text-align","center");
});
編輯:這裏有一個的jsfiddle:http://jsfiddle.net/Avf7P/
老派的解決方案(效果很好):
function Trim(str){
return str.replace(/^\s+|\s+$/g,"");
}
function applyCssCustomToSomeTds(){
for(i=0;i<document.getElementsByTagName('td').length;i++){
var elementTd = document.getElementsByTagName('td')[i];
if(!isNaN(Trim(elementTd.innerHTML))){
elementTd.style.textAlign = "center";
}
}
}
你嘗試過什麼?提示:對於每個「td」,檢查它的內容並向它添加一個類。 –
在jquery中使用parseInt()函數。您可以使用此函數獲取數字並應用css – supersaiyan
如果單元格包含數字和非數字,如'測試123'? – nnnnnn