我只找到了计算内容字符的方法,但我需要的是字长。例如,在 20个字符的单词时,css会执行某些操作,但如果20个字符超过一个字则不会...
这就是我尝试的,但它会计算角色;(
var s = $(".text").html();
if (s.split(' ').length > 20) {
$(".text").css({
'background-color' : '#F00',
'font-weight' : 'bold'
});
}
jquery可以吗?
答案 0 :(得分:1)
您获得单个单词的长度,但将CSS规则应用于整个文本。您需要按文字分隔文本,并将样式应用于其中一些。
var container = $("#myText");
var words = container.text().split(' ');
container.empty();
for (var i = 0; i < words.length; i++)
{
if (words[i].length > 20)
{
$("<span/>").text(words[i] + " ").addClass('longword').appendTo(container);
} else {
container.html(container.html() + words[i] + " ");
}
}
.longword {
font-weight: bold;
background-color: #FF0000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myText">
Here is the simple text which contains some very long words like pseudopseudohypoparathyroidism or antidisestablishmentarianism.
</div>
生成的HTML如下所示:
Here is the simple text which contains some very long words
like <span class="longword">pseudopseudohypoparathyroidism</span> or
<span class="longword">antidisestablishmentarianism</span>.
答案 1 :(得分:0)
你基本上是在计算现在的话。为了检查是否有超过20个字符的单词,您必须执行以下操作:
s.split(' ').some(function(a) {return a.length > 20})
答案 2 :(得分:0)
s.split(" ") will return you an array of strings.
只需更改行
if(str.split(&#39;&#39;)。length&gt; 20)
到
if(str.split(&#39;&#39;)[0] .length&gt; 20)