0

次の問題があります。

タグのようなものを追加する [追加] ボタンがあり、タグが既に追加されているかどうかを確認したい。これが私の試みです...しかし成功しません

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

検索機能の使い方が悪いのかな…

前もって感謝します、

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!");
}

要素tagnameの子孫として、id が である入力の値によって与えられるタグを探したい場合は、次のように長さを使用します".selected_tags li span"

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 に答える