Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在x个字符后更改CSS_Jquery_Html_Css - Fatal编程技术网

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; }