0

我有以下问题:

我有添加按钮,它正在添加类似标签的东西,我想检查标签是否已经添加。这是我的尝试......但没有成功

 if ($(".selected_tags li span").find($("#tagname").val())) {
    alert("Tag already exists!");
    }

我想我没有正确使用 find 功能......

提前致谢,

Z。

编辑:当我查看答案时,我发现您误解了我。那是我的错!所以这里有更多细节:我有一个输入字段和添加按钮。用户在字段内键入标签名称,当他按下添加按钮时,我需要检查他是否已经在带有标签名称的列表中添加了具有该名称的标签。

这是HTML结构:

<div class="new_article_add_tags_wrap">
            <input type="search" class="search_new_article_tags" id="tagname"/>
            <button class="add_new_article_tag_btn" id="add_tagname"><span>Add</span></button>
        </div>
        <div class="new_article_selected_tags_container">
            <ul class="selected_tags">
                <li>
                    <span>Algorithm</span>
                </li>
                <li>
                    <span>Graph Theory</span>
                </li>
            </ul>
        </div>

所以每次当用户按下添加按钮时,我需要通过所有跨度执行简单的搜索,以检查标签是否已经存在。

4

3 回答 3

1

鉴于您不能拥有多个具有特定 id 的元素,如果您正在寻找具有 id 的元素tagname,您应该简单地测试

if ($("#tagname").length) {
    alert("Tag already exists!");
}

如果您要搜索的是标签,而不是 id,请使用

if ($(".selected_tags li span tagname").length) {
    alert("Tag already exists!");
}

如果要查找由 id 为 的输入的值给出的标记tagname,作为".selected_tags li span"元素的后代,请像这样使用 lenght

if ($($('#tagname').val(), ".selected_tags li span").length) {
于 2013-04-03T11:45:24.797 回答
1

length()...

if ($(".selected_tags li span").find($("#tagname").val()).length > 0) {
  alert("Tag already exists!");
}

不使用 find()

if ($(".selected_tags li span tagname").length > 0) {
  alert("Tag already exists!");
}
于 2013-04-03T11:45:28.173 回答
0

你有一些错误,应该是:

if ($(".selected_tags li span").find("#tagname").length) {
    alert("Tag already exists!");
}
于 2013-04-03T11:46:57.817 回答