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.
精彩评论