Jquery计数字符

Jquery计数字符,jquery,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="tex

我很难理解为什么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>

变量计数=$('h1')。长度;
警报(计数);
一些文本
结果应该是这个例子9,但是我得到的是0
<script type="text/javascript">
 var count = $('h1').html().length;
 alert(count);

</script>
var count=$('h1').html().length; 警报(计数);
$('h1')
是对象,因此长度为0(第一个或唯一一个)

您需要
.html()
获取内部内容,然后检查长度尝试以下操作:

$(document).ready(function(){
  var count = $('h1').text().length;
  alert(count);
})
$(“h1”)返回一个jQuery对象(其中length属性是返回的元素数),由于您在页面完全加载之前调用它,因此实际上是在重新调整0个元素

你想要的是:

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

您得到0是因为代码运行时h1尚未加载,因此首先需要将其放入document.ready中。这仍然不会给出你想要的答案,因为它只会告诉你页面上h1标签的数量。要获得您想要的答案,您需要执行以下操作:

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

我用这样的方式,做

$(“#媒体#教程#KATEGORI#说明”)。关于('keyup',function(){ var count=$(this).val().length; 如果(计数>=150){var textColor='text-danger';}其他{var textColor='text-success';} $('.counter').html(''+count+''); });

$('MEDIA#u TUTORIAL_KATEGORI_DESCRIPTION')。关于('keyup',function()){
var count=$(this).val().length;
如果(计数>=150){var textColor='text-danger';}其他{var textColor='text-success';}
$('.counter').html(''+count+'');
});  “$('h1')是对象,因此长度为0”是错误的。它是0,因为它尚未加载$('h1').length将返回h1元素的数量。将length()更改为lengthvar count=$(this).val().length;