如何替换CSS中的特定文本?

时间:2013-08-05 19:39:19

标签: css css3

我有一张桌子,我希望将“1”替换为“X”,将“0”替换为“”。 CSS有可能吗?

<table>
    <tr>
        <td>1</td>
        <td>0</td>
    </tr>
</table>

4 个答案:

答案 0 :(得分:4)

这听起来像是jQuery的工作。

HTML

<table>
    <tr>
        <td>1</td>
        <td>0</td>
    </tr>
</table>

的jQuery

$('td').each(function(){
  if ($(this).text() == '1') { $(this).text('X'); }
  if ($(this).text() == '0') { $(this).text(''); }
});

答案 1 :(得分:1)

你可以这样做(DEMO):

td {
    font-size:0;
}

td:first-child:after {
    content: "X";
    font-size: 14px;
}

但那很难看,我个人更喜欢使用javascript来完成这项任务。所以不要使用这个解决方案。做cs的任务不是css的任务。

在jQuery中,它就像这样简单:

$('td:contains("1")').text('X');
$('td:contains("0")').text('');

不要忘记简单的javascript:

var tds = document.getElementsByTagName('td');

for(var i = 0; tds[i]; i++) {
    if(tds[i].innerHTML == '1') tds[i].innerHTML = 'X';
    if(tds[i].innerHTML == '0') tds[i].innerHTML = '';
}

答案 2 :(得分:0)

如果你确定只想使用CSS

确定你想要的确切行为,那么你可以这样做
td:first-child:after
{ 
    content:"X";
}
td:first-child + td:after
{ 
    content:"";
}

但要使其正常工作,您必须拥有空列..

<table>
    <tr>
        <td></td>
        <td></td>
    </tr>
</table>

编辑:为了完成,如果你的html就像在问题中看起来一样简单,我会采用上面的方法但是如果你的html更有活力&amp;不可预测,显然你需要选择javascript / jQuery方法。

答案 3 :(得分:0)

您可以对某些visibilityaftercontent

执行此操作

DEMO http://jsfiddle.net/kevinPHPkevin/hJyd8/

td:nth-child(1) {
 visibility: hidden;
}
td:nth-child(1):after {
    content:"2";
    visibility:visible;
}
td:nth-child(2) {
 visibility: hidden;
}
td:nth-child(2):after {
    content:"''";
    visibility:visible;
}