如何在使用jquery将列表文本添加到列表之前检查重复列表文本?

时间:2013-02-06 13:23:04

标签: jquery

假设我有以下ul列表:

                  <ul id='testList'>

                            <li>dfsdfdsfs</li>
                            <li>dfsdfdsfs</li>
                            <li>dfsdfdsfs</li>
                            <li>dfsdfdsfs</li>
                            <li>dfsdfdsfs</li>
                  </ul>

接下来,在将项目添加到列表之前,我需要检查此列表中的重复项:

                 $("#testList li").each(function()
                 {
                     if(output == $(this).text())
                     { 
                            alert("duplicate entry");
                     }else
                     {
                         $("#testList").append("<li>"+output+"</li>");
                     }

                 });

问题是,当列表为空时,没有添加else语句......

1 个答案:

答案 0 :(得分:0)

您的功能有几个问题。首先,如果列表为空,它不会添加任何内容,其次,它将添加与列表中的任何项不相等的元素,第三个:testList是一个类,$(“#testList”)查找标识。

试试这个:

           function addToList() {
             var addit = true;
             $("testList li").each(function()
             {
                 if(output == $(this).text())
                 { 
                        addit = false;
                 }
             });
             if(addit)
                 $("testList").append("<li>"+output+"</li>");
           }