2012-04-02 11 views
0

すべての$( "a.paragraph")の文字列の長さを制限します。私は次のコードを持っています:jqueryで複数の要素の文字列長を制限する方法は?

var paragraph = $("a.paragraph").text(); 
var maxlength = 500; 
var strlength = paragraph.length; 
if (strlength > maxlength) { 
    var introduction = paragraph.substr(0,maxlength); // cut string 
    var search   = introduction.lastIndexOf(" "); // find position of last space (last word cannot be cut) 
    introduction  = introduction.substr(0, search); // cut string until last space 
    introduction  = introduction + "..."; // add ... in the end 
    $("a.paragraph").text(introduction); 
} 

このコードは、最初の要素のみを改造し、すべての段落に結果を表示します。 1つの段落ごとにどのようにループできますか?

答えて

4

あなたはjQuery's each functionを利用することができます:

$('a.paragraph').each(function() { 
    var paragraph = $(this).text(); 
    // ... do stuff here 
}) 
+0

ありがとう、これは私が探していたものです。私はそれぞれを試しましたが、「これ」を使うのを忘れました。 –

2

.eachを使用する:

$('a.paragraph').each(function() { 
    var paragraph = $(this).text(); 
    var strlength = paragraph.length; 
    if (strlength > maxlength) { 
     var introduction = paragraph.substr(0, maxlength); // cut string 
     var search   = introduction.lastIndexOf(" "); // find position of last space (last word cannot be cut) 
     introduction  = introduction.substr(0, search); // cut string until last space 
     introduction  = introduction + "..."; // add ... in the end 
     $(this).text(introduction); 
    } 
}); 
1

あなたが彼らの周りの各段落やループを見つける必要がある:

$("a.paragraph").each(function() { 
    var paragraph = $(this).text(); 
    var maxlength = 500; 
    var strlength = paragraph.length; 
    if (strlength > maxlength) { 
     var introduction = paragraph.substr(0,maxlength); // cut string 
     var search   = introduction.lastIndexOf(" "); // find position of last space (last word cannot be cut) 
     introduction  = introduction.substr(0, search); // cut string until last space 
     introduction  = introduction + "..."; // add ... in the end 
     $("a.paragraph").text(introduction); 
    } 
}); 
1

あなたがループする必要がありますすべての要素に対して発生している動作は、デフォルトでjQueryが動作する方法です。

$("a.paragraph").each(function(i,e) { 
    var paragraph = $(e).text(); 
    var maxlength = 500; 
    var strlength = paragraph.length; 
    if (strlength > maxlength) { 
     var introduction = paragraph.substr(0,maxlength); // cut string 
     var search   = introduction.lastIndexOf(" "); // find position of last space (last word cannot be cut) 
     introduction  = introduction.substr(0, search); // cut string until last space 
     introduction  = introduction + "..."; // add ... in the end 
     $(e).text(introduction); 
    } 
}); 
関連する問題