Javascript 如果未找到子字符串,则为文本添加前导空格

Javascript 如果未找到子字符串,则为文本添加前导空格,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试对齐表中某列的文本。因此,如果文本没有星号,我尝试在文本中添加一个前导空格 以下是我想到的(不起作用): 如果不是,这是一个更好的方法吗?请建议 例如:第一列中的数据现在看起来像 *S10054472 Active 50000 11-506843 Active 95000 12-59949 Active 12500 12-5709 Active 12750 *11-499979 Active 323

我正在尝试对齐表中某列的文本。因此,如果文本没有星号,我尝试在文本中添加一个前导空格

以下是我想到的(不起作用):

如果不是,这是一个更好的方法吗?请建议

例如:第一列中的数据现在看起来像

*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 
试试这个

剧本 加成
我认为这应该足够简单:

$('table td:contains("*")').prepend(document.createTextNode(' '));

它需要
document.createTextNode
而不是带有空格的简单字符串,因为jQuery的
.prepend()
需要一个DOM元素或jQuery对象。

只需在该列上使用
文本对齐:右
,可能会更容易一些……这不起作用,因为第一列中的文本大小不固定。这是您自己创建的表吗?在这种情况下,使用JS就太过分了。为什么需要使用星号呢insensitive@Ejay:我的评论不符合要求(是的,我没有注意到g,只是I)。道歉。
$('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')
$('table td:contains("*")').prepend(document.createTextNode(' '));