jquery count里面的元素ul - > length?

mat*_*att 44 jquery

如果a 里面ul有多个li元素,那么应该发生一些事情,否则就不会发生!

我究竟做错了什么?

if ( $('#menu ul').length > 1 ) {
Run Code Online (Sandbox Code Playgroud)

jan*_*mon 74

你必须计算li元素而不是ul元素:

if ( $('#menu ul li').length > 1 ) {
Run Code Online (Sandbox Code Playgroud)

如果您需要每个包含至少两个LI元素的UL元素,请使用过滤函数:

$('#menu ul').filter(function(){ return $(this).children("li").length > 1 })
Run Code Online (Sandbox Code Playgroud)

你也可以在你的条件下使用它:

if ( $('#menu ul').filter(function(){ return $(this).children("li").length > 1 }).length) {
Run Code Online (Sandbox Code Playgroud)


小智 30

正确的语法是

$('ul#menu li').length
Run Code Online (Sandbox Code Playgroud)


Uma*_*nda 12

alert( "Size: " + $( "li" ).size() );

alert( "Size: " + $( "li" ).length );
Run Code Online (Sandbox Code Playgroud)

.size()和.length都返回项目数.但不推荐使用size()方法(JQ 1.8)..length属性可以用来代替size().

你也可以用

alert($("ul").children().length);
Run Code Online (Sandbox Code Playgroud)


nas*_*fri 9

工作jsFiddle

请使用.size()函数代替.length,并在selector中指定li标签.

改变你的代码就像.

if ( $('#menu ul li').size() > 1 ) {
Run Code Online (Sandbox Code Playgroud)


小智 5

使用 $('ul#menu').children('li').length

.size()而不是.length也可以