我有问题弄清楚为什么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>
Run Code Online (Sandbox Code Playgroud)
结果应该是这个例子9,但我得到0
Mat*_*ean 22
$("h1")返回一个jQuery对象(其中length属性是返回的元素数),并且由于您在页面完全加载之前调用它,它实际上是重新调整0个元素.
你想要的是:
$(document).ready(function() {
var count = $("h1").text().length;
alert(count);
});
Run Code Online (Sandbox Code Playgroud)
你得到0因为代码运行时h1还没有加载,所以首先需要把它放在document.ready中.这仍然无法给出您想要的答案,因为它只会告诉您页面上的h1标签数量.要获得您想要的答案,您需要做:
$(document).ready(function() {
var count = $('h1').text().length;
alert(count);
});
Run Code Online (Sandbox Code Playgroud)