2010-12-07 46 views
2

是否有可能使用jQuery來統計有多少個字符,例如<li>,並且如果金額大於XX個字符,則將類應用於該元素?jQuery計數字符和添加類

我見過大量的jQuery字符計數器(即http://plugins.jquery.com/plugin-tags/character-counter),我可以看到.addClass()將如何處理這部分事情,但在整理時遇到了一些麻煩。

任何指針感激地收到。

非常感謝

感謝大家的答案 - 找到一個解決方案,如下文所示

+0

您可能需要更新您的問題,如一些代碼顯然是剝奪了目前還不清楚你想要什麼。 – 2010-12-07 16:19:35

+0

你可以使用.text(),然後對字符進行正確的計數...... /// – kobe 2010-12-07 16:20:24

回答

8

你可以做這樣的事情對我的作品:

// The number of characters 
var XX = 100; 

$('li').filter(function() { 
    return $(this).text().length > XX; 
}).addClass('someClass'); 
+0

這真是太棒了 - 非常感謝,完美的作品! – Dave 2010-12-07 16:43:09

0

如果你想定位特定的li項目(而不是頁面中的所有li元素),您可以給它一個ID:

<li id="myli">...</li> 

然後,如果你想在頁面加載到執行代碼做這樣的事情:

$(document).ready(function() { 
    var yourElement = $('#myli'); 
    var charLength = yourElement.text().length; 
    if(charLength > xx){ 
     yourElement.addClass('yourClass'); 
    } 
}); 
0

您可以通過這樣做,則爲a.length,其中a是一個字符串獲得字符串中的字符數。

$('a').each(function(){ 
if($(this).text().length > XX){ 
    $(this).addClass('someClass'); 
} 
}); 
2

爲什麼不選擇<li>元素爲一個變量並獲得其長度?

var length = $('li').html().length; 

從這裏,只是檢查是否在長度值大於你比較和使用.addClass()值越大