jQuery
kullanarak tüm blog yazımı tarayacak ve kullanıcı için tahmini okuma süresini hesaplayacak bir işlev uygulamaya çalışıyorum. JQuery'yi kullanarak bir blogdaki tüm sözcükleri saymak için
$('p').each(function(){
var v = wordCount($(this).html());
totalWords = totalWords + v.words;
);
function wordCount(val){
var wom = val.match(/\S+/g);
return{
charactersNoSpaces: val.replace(/\s+/g, '').length,
characters: val.length,
words: wom ? wom.length: 0,
lines: val.split(/\r*\n/).length
}
}
wordCount
fonksiyonu için bu soru üzerine afiş teşekkür ederim:
Word and Character Count using jQuery
yukarıda çalışıyor
Şu anda her paragrafta kelimelerin miktarını almak için şunları yaptık Paragraflarım için beklediğim çıktıyı alıyorum. Ancak benim Blog yayını h1
, h2
, h3
, h4
, h5
, h6
, ul
, ol
, span
, p
, li
kombinasyonundan oluşur.
$('p, h1, h2, h3, h4, h5, h6, ul li, ol li, span').each(function(){
var v = wordCount($(this).html());
totalWords = totalWords + v.words;
});
Ama şimdi sonuçları çarpık. Örneğin, bir paragrafta veya bir liste öğesinde span
etiketine sahip olsaydım veya her neyse iki kez sayarsa.
<ul>
<li>This is a test</li>
<li>This is <span>another</span> text</li>
</ul>
kimse olası bir düzeltme üzerinde bana tavsiyelerde Can olsun, 8 dönmelidir, orada belli ki benim mantığı bir hata olduğunu ve herhangi bir yardım takdir ediyorum.
Teşekkür
Blog yazınız açıklaması herhangi div herhangi benzersiz bir kimliği olması ile başlar. –
Benim blog yazımın tüm içeriği bir "id" içeren bir sarmalayıcıda bulunur, bu yüzden mantığım sabitlendikten sonra bu sarıcı içindeki tüm elemanları hedeflemek için kelime sayımı – Javacadabra
"text()' yerine "html () '. USE 'var v = wordCount ($ (this) .text());' – Tushar