2015-09-28 44 views
2

我只找到一種方法來計算內容的字符,但我需要的是字長。例如,在20個字符的CSS 話做的事,但不如果20個字符是一個以上的字 ...通過字長運行腳本,而不是通過字符計數

That's我怎麼努力,但它計算字符;(

var s = $(".text").html(); 

if (s.split(' ').length > 20) { 
    $(".text").css({ 
     'background-color' : '#F00', 
     'font-weight' : 'bold' 
    }); 
} 

這是可能使用jQuery

+0

你的問題並不清楚。你的意思是說你只想將這種CSS樣式應用於超過20個字符的單個單詞? –

+0

@RoryMcCrossan是 – Pepe

回答

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>. 
+0

大thx支持,這絕對是我所期待的! – Pepe

0

您現在基本上計算的話爲了檢查是否有句話超過20個字符,你必須做這樣的事情:?

s.split(' ').some(function(a) {return a.length > 20}) 

The definition of some can be found here.

0
s.split(" ") will return you an array of strings. 

只是改變線

如果(str.split(」「)。長度> 20)

如果(str.split(」「)[0]。長度> 20)

+0

thx支持 - 我嘗試這種方式,但在我看來,它不工作。 – Pepe