2016-11-10 8 views
0

この便利なテキストカウンターはcssクラスで見つかりました。Jquery text()を使用してください。テキストエリア内の長さ

$(".quotecontent").filter(function() { 
return $(this).text().length < 40; 
}).parent().css('background', 'red'); 

http://jsfiddle.net/adeneo/kh8Hh/

コンテナがテキストエリアでarroundの、jqueryのコードはもう機能していません。何か案は?

を参照してください:あなたがテキストエリアの内容を調べる場合は、あなたがそこにはDOM要素が存在しないことがわかります

+0

2番目の例で何が起きるかわからない –

+0

textareaと同じ動作です。私のクラスはテキストエリアの中にあり、ユーザーがフルクオート(x単語以上)をすると、エラーメッセージを表示する必要があります。 – labu77

答えて

0

http://jsfiddle.net/e1j7xqsx/

ありがとう:

<textarea> 
    &lt;div class="quote"&gt; 
    &lt;div class="quotestart"&gt;&lt;/div&gt; 
    &lt;div class="quotecontent"&gt;&lt;p&gt;We have a new toy!&lt;/p&gt; 
    &lt;div class="author"&gt;- Fernando Alonso&lt;/div&gt;&lt;/div&gt; 
    &lt;div class="quoteend"&gt;&lt;/div&gt; 
    &lt;/div&gt; 

    &lt;div class="quote"&gt; 
    &lt;div class="quotestart"&gt;&lt;/div&gt; 
    &lt;div class="quotecontent"&gt;&lt;p&gt;Fight to fly, fly to fight, fight to win.&lt;/p&gt; 
    &lt;div class="author"&gt;- Motto of the U.S. Navy Fighter Weapons School, TOPGUN&lt;/div&gt;&lt;/div&gt; 
    &lt;div class="quoteend"&gt;&lt;/div&gt; 
    &lt;/div&gt; 
    </textarea> 

すべてテキストエリア内のコンテンツはテキストです。したがって、$(".quotecontent").length0です。

一つの解決策は、エラーのコンテナとして動作する別のDOM要素を持っている、とあなたはそこにエラーが発生したのdivのを示すことができる可能性があり

: ``それが価値だとして扱うので、私の間の任意のコンテンツを

var errorWrapper = $('.error-wrapper'); 
errorWrapper.html($('textarea').text()); 

$(".quotecontent").filter(function() { 
    return $(this).text().length < 40; 
}).parent().css('background', 'red'); 

$(".quotecontent").filter(function() { 
    return $(this).text().length > 40; 
}).parent().remove(); 
+0

ありがとうございます。つまり、この問題の解決策はありませんか?たぶん、置き換えたり何かでテキストエリアを削除しますか? – labu77

+0

どのような問題?なぜ 'quote'の周りに' textarea'が必要ですか? –

+0

投稿フォームがあります。フォーラムユーザーは投稿を引用する可能性があります。送信時には、ユーザーからの投稿を確認する必要があります。より多くのX単語で引用がある場合、私はエラーメッセージを配置したいと思います: "任意の引用はX単語より長く、完全引用符を使用しないで、テキストを削除します。 – labu77

関連する問題