我通过css类找到了这个有用的文本计数器。
$(".quotecontent").filter(function() {
return $(this).text().length < 40;
}).parent().css('background', 'red');
http://jsfiddle.net/adeneo/kh8Hh/
当容器的arround是textarea时,jquery代码不再起作用了。任何想法?
请参阅:
谢谢
答案 0 :(得分:0)
如果你检查textarea的内容,你会发现那里没有DOM元素:
<textarea>
<div class="quote">
<div class="quotestart"></div>
<div class="quotecontent"><p>We have a new toy!</p>
<div class="author">- Fernando Alonso</div></div>
<div class="quoteend"></div>
</div>
<div class="quote">
<div class="quotestart"></div>
<div class="quotecontent"><p>Fight to fly, fly to fight, fight to win.</p>
<div class="author">- Motto of the U.S. Navy Fighter Weapons School, TOPGUN</div></div>
<div class="quoteend"></div>
</div>
</textarea>
textarea中的所有内容都是文本。因此$(".quotecontent").length
为0
。
一个解决方案可能是让一个单独的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();