Jquery 在x个字符后更改CSS
我在Jquery 在x个字符后更改CSS,jquery,html,css,Jquery,Html,Css,我在td中有一个文本字符串,如下所示: <td>This is a long line</td> 此外,如果上述操作不可行,另一种选择是对前七个字符应用不同的CSS,并对整个td应用第n个子,这将被向前七个字符添加CSS的函数覆盖 首选CSS解决方案,欢迎使用JS/jQuery。如果需要更多信息,请发表评论,我将尝试添加。使用Jquery,您可以执行以下操作: var rep=$('div').text().substring(0,7); $('div').html(
td
中有一个文本字符串,如下所示:
<td>This is a long line</td>
此外,如果上述操作不可行,另一种选择是对前七个字符应用不同的CSS
,并对整个td
应用第n个子,这将被向前七个字符添加CSS
的函数覆盖
首选CSS解决方案,欢迎使用JS/jQuery。如果需要更多信息,请发表评论,我将尝试添加。使用Jquery,您可以执行以下操作:
var rep=$('div').text().substring(0,7);
$('div').html(函数(i,html){
返回html.replace(rep,“+rep+”);
})
span{
颜色:红色;
}
这是一条很长的线
使用纯CSS,我认为这是不可能的。CSS作用于元素和属性,而元素中的文本不是这些
但是,既然您也可以使用jQuery,下面是:
$(“td”)。每个(函数(){
var text=$(this.text();
var part1=text.substring(0,7);
var part2=text.substring(7);
$(this.html(part1+“”+part2+“”);
})
td{
边框:1px纯黑;
}
这是一条长长的队伍
短
超磁长线
不幸的是,没有::n个字母
选择器,但是为我们提供了一个很好的n个everythin概念(这更像是一个添加到标准中的请求)
这里有一个实现:
您可以检查以下示例:
$(函数(){
$.fn.nthEverything();
});代码>
div::n个字母(1),div::n个字母(2),div::n个字母(3),div::n个字母(4),div::n个字母(5),div::n个字母(6),div::n个字母(7){
颜色:红色;
}
asdf lkajsdflkjasdf
唯一的方法是将文本包装在元素的前七个字符之后(如示例中的span)。CSS无法计算字符数。您可以使用JS或PHP在一个单独的包装元素中处理文本的包装。@j08691 jQuery可以自动包装它们吗?您可以使用jQuery选择
的内容,在第七个字符后拆分文本,并在元素中包装第二部分。正如其他人所说,JS是您唯一的希望。查看letting.js
<td>This is<span class="different"> a long line</span></td>
#table2 td:nth-child(6) characters(n+7) { font-size: 8px; }