2

私はどこでもテクニックを探しましたが、自分のニーズに合ったものを見つけることができませんでした。

基本的に、JavaScriptまたはjQuery(おそらくAjaxを使用)を利用して、自分のサイトのページから単語を含むdivを取得したいと思います。

私は誰かにこれをコーディングするように頼んでいるのではなく、正しい方向に向けられたいだけです。

たとえば、次のHTMLページがあるとします。

<div class='findfromthis'>hello guys</div>
<div class='findfromthis'>goodbye guys</div>
<div class='findfromthis'>goodbye people</div>

divs「みんな」という言葉が含まれているものをすべて表示したいと思います。

よろしくお願いします!!

4

2 に答える 2

2

JQueryには、contains特定のテキストを含むすべての要素を検索するセレクターがあります。の線に沿った何か$("div:contains('guys')")がトリックを行う必要があります。次に、.eachまたは.showなどを使用して、選択した要素を操作できます。

詳細については、 http://api.jquery.com/contains-selector/を参照してください。

編集 :

次のコードは、OPによって有用であると見なされました。「guys」というフレーズを含まないクラス「findfromthis」のすべてのdivを選択し、それらをDOMから削除します。

$("div.findfromthis:not(:contains('guys'))").remove();
于 2012-12-26T23:40:43.340 に答える
0

divにクラスを指定し、「。myDiv」と言ってから、jQueryを使用します。

$('.myDiv').doSomething...

AJAXがこれにどのように関与するかは完全にはわかりませんが、正しい方向に向けてください。

http://api.jquery.com/jQuery.ajax/

あなたの編集はまったく別の質問です。しかし、divを取得するために同じことをします。この場合、「each」を使用します。

$('.findfromthis').each(function(){
    // for each div you can now grab the text it contains:
    DivText = $(this).text();
    // now you could use a variety of different JS seach techniques to find
    // your content. But one example to search for a word or word fragment would be:
    if (DivText.indexOf("guys") !== -1)){
        // then this div has the word 'guys' in its text somewhere
    }
})

検索用語がより複雑な場合(フラグメントを検索したくない場合など)、代わりに検索部分にREGEXを使用することをお勧めします。

繰り返しになりますが、AJAXがこれに適合するかどうかはわかりません。これはすべてクライアント側で発生する可能性があります。

于 2012-12-26T23:35:00.497 に答える