3

私はこれらすべてに不慣れで、:contains を使用して一連の div をフィルタリングするときに親要素を識別するのに苦労していますか? 私の最終結果は、クリックすると div に特定の単語が含まれているかどうかをチェックし、含まれている div にクラスを適用し、他のすべての div に別のクラスを適用する 3 つのボタンを持つことです。

機能しないフィドルがありますが、作成しようとしているアイデアを示しています。

私が知っているコードは機能しませんが、プロセスは次のとおりです。

$(".manchester").click(function (e) {
    if ($('.address:contains("Manchester")').length) {
        $('holder').addClass('visible');
    }
    if ($('.address:contains("London")').length) {
        $('.holder').addClass('invisible');
    }
    if ($('.address:contains("Paris")').length) {
        $('.holder').addClass('invisible');
    }
    e.preventDefault();
});

フィドルはhttp://jsfiddle.net/2fEzS/にあります

4

2 に答える 2

0

ビットに影響を与えるものだけでなくdiv、クラスですべての を隠しています。.holdercontains

コードを次のように変更します。

$(".manchester").click(function (e) {
    $('.address:contains("Manchester")').closest('.holder').addClass('visible');
    $('.address:contains("London")').closest('.holder').addClass('invisible');
    $('.address:contains("Paris")').closest('.holder').addClass('invisible');
    e.preventDefault();
});

ただし、大文字と小文字が区別されるため、adivに「Paris」ではなく「paris」が含まれている場合、非表示にはなりません。

http://jsfiddle.net/2fEzS/19/を参照

于 2013-08-07T14:45:04.493 に答える