1

タイトルはわかりやすくシンプルに見えますが、私がやろうとしているのは見た目より少し多いです。

私が持っているのは、私のWebサイトでユーザーを検索し、メッセージを送信するための検索ボックスです。ユーザーのリストが返され、メッセージの送信先のユーザーをクリックします。上記のユーザーをクリックすると、li(ちなみにcontentEditable divです)にユーザーを追加し、ユーザーが追加のユーザーを検索し続けることができるようにします。これはすべて私が望むように機能します。私が今やろうとしているのは、検索ボックスからプレーンテキストを削除することです。

したがって、誰かが「Rober」と入力してからユーザー「Robert Smith」をクリックすると、li要素にラップされていないすべてのプレーンテキストが削除されます。

私はそれが言う線に沿った何かになると信じています:

$("div.search").clone().children().remove().end().text();

これを使用しliて、検索時にテキストなどを除外します。

動作しない使用例では、次のようになります。

var text = $("div.search").clone().children().remove().end().text();

$("div.search").find(text).notIn("li").remove();

編集

li削除する正確なテキストを検索するよりも、要素でラップされていないすべてのテキストを削除する方が、おそらくより適切で簡単です。

4

2 に答える 2

1
$('div.search').find(':not(li):contains(' + text + ')').remove();
于 2012-12-06T23:51:43.340 に答える
0

これがあなたが探しているものかどうかはわかりませんが、

var d = $('<div>');
$('div.search').children().appendTo(d);
$('div.search').html('').append(d.children());

これにより、すべての html 要素が保持され、ノード内にない他のすべてのテキストが削除されます。「li」のみを保持するように子をフィルタリングできます

于 2012-12-07T00:05:01.403 に答える