1

いくつかのリンクを使用してフィルタリングしている一連の要素があります。要素には、リンクがクリックされたときに表示/非表示にするかどうかを定義するクラスがあります。クリックするたびにこのエラーが発生することを除いて、すべてが機能します。

キャッチされないエラー: 構文エラー、認識されない式: 。jquery.js?v=f7cfcab3b68cbd79eec30032754a6719:3

.not()以下のセレクターと関係があります。さまざまな代替手段を試しました(たとえば:not、一重引用符と二重引用符を含めたり除外したりしましたが、エラーを取り除くものはありません:

var teamFilters = {
    dept: '',
    field: ''
}, filter;
$('.team-member-filters a').click(function() {
    var link = $(this);
    filter = $(this).attr('class');
    if (link.parent().hasClass('active')) {
        link.parent().removeClass('active');
        teamFilters[filter] = '';
    } else {
        link.parent().addClass('active').siblings().removeClass('active');
        teamFilters[filter] = $(this).attr('id');
    }
    $('.main-body .team-member').animate({opacity: 1}, 250);
    $('.main-body .team-member').not('.' + teamFilters.dept).animate({opacity: 0.25}, 250);
    $('.main-body .team-member').not('.' + teamFilters.field).animate({opacity: 0.25}, 250);

    //console.log(teamFilters.dept);
});

フィルタリングされる個々の要素の HTML は次のとおりです。

<div class="team-member secretariate reducing">
    <div>
        <img src="/~climatex/files/cache/9d8d7862edc9f22dab5245926f79dace_f52.jpg" width="75" height="75" alt="">
        <p class="name">Firstname Lastname</p>
        <p class="position">Job title</p>
    </div>
    <a class="email" href="mailto:name@email.com">name@email.com</a>
    <a href="http://www.url.com" target="_blank">www.url.com</a>
</div>

'.' + teamFilters.deptセレクターがエラーをスローしていますが、すべてが機能しているため、その理由がわかりません。

'.'+teamFilters.deptセレクターの外側で変数を連結しようとしました.not()が、違いはありません。

jQuery 1.7.2 を実行しています。

どんな助けでも大歓迎です!

4

2 に答える 2

3

クラスを除外するだけなら、引用符は必要ないと思います。

.not('.' + teamFilters.dept)
于 2013-07-05T11:11:06.397 に答える
3

あなたは過大評価しています。

.not('".' + teamFilters.dept + '"')

する必要があります

.not('.' + teamFilters.dept)

もちろん、teamFilters.deptこの定義から変わることはないようです。

var teamFilters = {
    dept: '',
    field: ''
}

...そしてその場合、とにかく無効なセレクターになってしまいます。

于 2013-07-05T11:11:13.103 に答える