jQuery:计算子项,显示为字符串

时间:2012-03-09 18:17:35

标签: javascript jquery html

我正在努力做一些我认为相当简单的事情。在页面加载时,我想计算ul的所有子项,然后将该数字显示为字符串。这是我到目前为止的代码:

的jQuery

$('ul').load(function() {
    var txt = "1" + "/" + $("> *", this).length;
    $(".counter").html( txt );
});

HTML

<ul>
    <li><img alt="Photo" src="images/photo.png" /></li>
    <li><img alt="Photo" src="images/photo.png" /></li>
    <li><img alt="Photo" src="images/photo.png" /></li>
</ul>

<p class="counter"></p>

因此,在此示例中,一旦页面加载,p.counter将包含字符串“1/3”。不知道我在这里做错了什么。

2 个答案:

答案 0 :(得分:2)

为什么不计算文件准备好的项目?

$(document).ready( function() {
    var txt = "1"+ "/" + $("ul li").length;
    $(".counter").html( txt );
});

示例:http://jsfiddle.net/jtbowden/But8C/

答案 1 :(得分:0)

首先,我假设你的意思是一个特定的独特的ul。在这种情况下,你可能想给它一个id,以避免在其他uls出现在页面上时发生冲突(下面列为“ulid”)。你可能也希望对计数器做同样的事情,但是如果你可以确定你没有在其他地方使用那个类,你应该没问题。

$(document).ready(function () {
    var txt = "1/" + $("#ulid").children().length()
    $("p.counter").html( txt );
}