使用jQuery在列表中搜索特定文本

时间:2013-01-05 19:31:19

标签: javascript jquery html css

我无法将列表限制为仅添加唯一的项目,这是我目前所拥有的

function addTab(tabName)
{
    var tabList=$("#pageContent ul").find("li").text();
    if($("#pageContent ul li:contains('"+tabList+"')").length<1)
    {
        $("#pageContent ul").append("<li>"+tabName+"</li>");
    }
    else
    {   

    }
}

但它不起作用我不确定什么是错的,从我能说的这应该是最好的方法。

我打算使用jQuery UI标签,但我的布局使用浮动和混乱标签小部件

1 个答案:

答案 0 :(得分:0)

您正在获取所有li元素的文本内容,然后尝试选择包含该特定文本的li元素,这没有意义,您甚至不在过滤逻辑中使用tabName,请尝试使用filter方法后。

function addTab(tabName) {
    var $e = $("#pageContent ul");
    var n = $e.find("li").filter(function(){
        var t = this.textContent || this.innerText;
        return t === tabName
    }).length;

    if (n === 0) {
        $e.append("<li>"+tabName+"</li>");
    } else {  
       // ...
    }
}