Jquery计数字符

时间:2012-01-25 14:13:34

标签: jquery

我遇到问题,弄清楚为什么jquery字符串计数器不会显示预期的结果。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
 var count = $('h1').length;
 alert(count);

</script>

</head>
<body>

<h1>some text</h1>

</body>
</html>

结果应该是这个例子9,而是我得到0

5 个答案:

答案 0 :(得分:20)

$(&#34; h1&#34;)返回一个jQuery对象(其中length属性是返回的元素数),并且由于您在页面完全加载之前调用它,它实际上是重新调整0元素

你想要的是:

$(document).ready(function() {
    var count = $("h1").text().length;
    alert(count);
});

答案 1 :(得分:5)

你得到0因为在代码运行时没有加载h1所以首先需要将它放在document.ready中。这仍然无法给出您想要的答案,因为它只会告诉您页面上的h1标签数量。要获得您想要的答案:

$(document).ready(function() {
    var count = $('h1').text().length;
    alert(count);
});

答案 2 :(得分:2)

试试这个:

$(document).ready(function(){
  var count = $('h1').text().length;
  alert(count);
})

答案 3 :(得分:0)

我这样使用,完成...

$('#MEDIA_TUTORIAL_KATEGORI_DESCRIPTION')。on('keyup',function(){     var count = $(this).val()。length;         if(count> = 150){var textColor ='text-danger'; } else {var textColor ='text-success'; }     $('。counter')。html(''+ count +'');     });

$('#MEDIA_TUTORIAL_KATEGORI_DESCRIPTION').on('keyup',function() {
    var count = $(this).val().length;
		if(count>=150){ var textColor='text-danger'; }else{ var textColor='text-success'; }
    $('.counter').html('<span class="'+textColor+'">'+count+'</span>');
	});  

enter link description here

答案 4 :(得分:-2)

<script type="text/javascript">
 var count = $('h1').html().length;
 alert(count);

</script>

$('h1')是对象,所以长度为0(第一个,或唯一的一个)

你需要.html()来获取内容,然后检查长度