开发者

jQuery Children length of an ol

I am trying to count the child elements of an OL

jQuery :

$(document).ready(function(){

$("#my_select").change(function(){
    alert($("#ol3").children.length);
                                     });});

HTML:

<ol id="ol1">
    <li class="2">Location 1-1</li>
</ol>

<ol id="ol2">
    <li class="15">Location 2-1</li>
    <li class="20">Location 2-2</li>
</ol>

<ol id="ol3">
    <li class="17">Location 3-1</li>
 开发者_运维知识库   <li class="16">Location 3-2</li>
    <li class="14">Location 3-3</li>
</ol>

I always get the number 2 no matter how many li are there under the ol.

Know what's going on..?


try

$("#ol3").children().length \\ you missed () in children...

when you do $("#ol3").children.length it returns the number of arguments in the .children() function...

try alerting $("#ol3").children and you will get this...

function (d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}

where d and f are the two arguments... that's why you are always getting 2 in your code when you alert..


Try children() instead of children.

For a belt-and-suspenders approach, try children('li').


you can also use .size() instead of .length()

either one works, though .length() is supposedly faster.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜