JQuery - 表格对齐右侧的数字列

时间:2017-04-25 14:32:47

标签: javascript jquery

我正在制作一张dinamic表,我的代码有问题。他正在检查每一个TD并使其个性化。 我想提出这样的规则:

If (ThereIsAnyLetterInThisColumn) -> AlignAllThisColumnToLeft

以下是一个示例Plunker:https://plnkr.co/edit/5HtbKh8B1mJEk0yqQIkd?p=preview

在此示例中,例如,所有值必须左对齐,因为在列中有数字和字母。如果列全部为数字,则应与右侧对齐

任何人都可以帮助我吗?

非常感谢!!

2 个答案:

答案 0 :(得分:1)

在第三列中,因为最后一行中有4个,所以ENITRE列对齐。

第二列是左对齐的,因为没有字母

第一列是正确的,因为所有都是字母。



$('td').each(function(){
   if(isNaN($(this).text())){
    var idx = $(this).index();
    $('tr').each(function(){ $(this).children('td:eq('+idx+')').addClass('left-align');})
   } 
 });

.left-align{ text-align:left;}
td{border:1px solid #ccc; text-align:right}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table width=500 cellborder=1>
<tr>
<td>one</td>
<td>1</td>
<td>4</td>
</tr>
<tr>
<td>two</td>
<td>2</td>
<td>4</td>
</tr>
<tr>
<td>three</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>four</td>
<td>4</td>
<td>4s</td>
</tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我认为此代码适合您。

$('td').each(function(){

    var text_td = $(this).html();

    if (text_td.indexOf('yourletter') > -1) {
        $(this).css('text-align','right');
    }        
}