我正在尝试对齐表格中的列文本。为此,如果文本没有星号,我试图在文本中添加一个前导空格。
这是我提出的(不起作用):
$("table:eq(1) tr").find("td:eq(0)").text().index('*').css({ 'text-indent': '2pt'});
如果没有建议,这是一种更好的做法。
例如:第一列中的数据现在看起来像
*S10054472 Active 50000
11-506843 Active 95000
12-59949 Active 12500
12-5709 Active 12750
*11-499979 Active 3232
应该看起来像
*S10054472 Active 50000
11-506843 Active 95000
12-59949 Active 12500
12-5709 Active 12750
*11-499979 Active 3232
答案 0 :(得分:1)
试试这个
$('table tr').find('td:first').filter(function(){
return !$(this).text().match(/^\*/)
}).css('padding-left', '6px')
<table>
<tr>
<td>*S10054472</td>
<td>Active</td>
<td>50000</td>
</tr>
<tr>
<td>11-506843</td>
<td>Active</td>
<td>95000</td>
</tr>
</table>
较少密集过滤功能
$('table tr').find('td:first').filter(function(){
return this.innerHTML[0] != '*'
}).css('padding-left', '6px')
答案 1 :(得分:0)
我认为这应该很简单:
$('table td:contains("*")').prepend(document.createTextNode(' '));
它需要document.createTextNode
而不是带空格的简单字符串,因为jQuery的.prepend()
需要DOM元素或jQuery对象。