jquery:如果ul为空

好吧,我有一个jQuery对话框,其中有一个表格,我在我的智慧结束时试图弄明白…让我看看我是否可以用语言表达我想要做的事情..

我有3个文本框。 #apInterest顺序排列#apInterest#apPayment#apPrincipal

我想要做的基本英语术语:

#apInterest keyup如果.val小于0或大于99.99会触发错误..否则检查ul#mylist是否有任何li ,如果没有.hide

#apPayment keyup如果.val小于0则触发错误,否则检查列表是否隐藏li hide。

#apPrincipal#apPayment完全相同

我现在拥有的是什么

 $('#apInterest').live("keyup", function(e) { var parent = $('.inter').parents("ul:first"); if ($('#apInterest').val()  99.99) { $('.inter').remove(); $('#mylist').append('
  • Interest Rate cannot be below 0 or above 99.99
  • '); $('#popuperrors').show(); $(this).addClass('error'); } else { $(this).removeClass('error'); $('.inter').remove(); alert(parent.children().text); if (parent.children().length == 0){ $('#popuperrors').hide(); } } });

    虽然我也试过了

     if ($("#mylist :not(:contains(li))") ){ $('#popuperrors').hide(); } 

    对于所有3个文本框我都有类似的function但是我尝试过的function似乎都没有…有关如何完成此操作的任何想法

     if ($('#mylist li').length == 0) ... 

    我喜欢使用children()方法,因为它读得很好,即使你已经缓存了ul的选择器,它也能正常工作。 这是它的样子:

     $myList = $('#myList') if ( $myList.children().length === 0 ) ... 

    jQuery总是返回一个元素数组。 如果未找到匹配项,则数组将为空。 Javascript中的空数组计算结果为true:

     console.log( !![] ); // logs: true 

    您想检查返回集的长度:

     if ( ! $("#mylist li").length ){ $('#popuperrors').hide(); }