1

通常は Volusion ページで機能する jQuery 関数を持っていますが、何らかの理由で機能しません。location.pathname.indexOf は、その URL を持つすべてのページを対象とします (サイトは GET 変数を使用して SearchResults.asp ページで検索を行います)。引用符をシングルからダブルに変更しましたが、それをテストするために他に何も見つけられないようです。このコードに構文エラーが表示される人はいますか? jQuery のみを実行しているため (MooTools のようなものは何もない)、競合は発生しないはずです。document.ready の後に 'Test' のアラートも実行しようとしましたが、画面には何も起こりませんでした。ありがとう!

<script>
$(document).ready(function() {  
    if (location.pathname.indexOf('/SearchResults.asp') != -1 ) {
        $('div#content_area').css({'display','none !important'});         
    }
});
</script>
4

2 に答える 2

8

構文エラーがあります。

これ:

$('div#content_area').css({'display', 'none !important'});

これでなければなりません:

$('div#content_area').css({'display': 'none !important'});
//                                  ^
//                                  |
//                                  | look here

.css()を使用する場合、2 つのバリエーションを使用できます。

,次のように、 を使用して CSS プロパティの名前と値を区切る単一のプロパティを更新するために使用できます。

$('div#content_area').css('display', 'none !important');

または、jQuery 1.9 で追加された新しいバリエーションを使用して、一度に複数のスタイルを指定し、プロパティと値のペアを指定できるようにすることもできます。

$('div#content_area').css({
    'display': 'none !important',
    'border' : 'solid 1px red'
});

css() と !重要


.css()と を使用してスタイルを適用しようとすると、問題が発生するよう!importantです。ずいぶん前に発生したバグがあります:チケット #2066はクローズされ、代わりのものが表示されました。

cssText別の方法として、マルチスタイルのバリエーションを使用するときに、これに似たものを設定できると述べています。

$('div#content_area').css({
    'cssText': 'display: none !important'
});

または、単一のスタイル バリエーションを使用する場合は次のようになります。

$('div#content_area').css('cssText', 'display: none !important');

ただし、チェックマークが付けられているように、注意が必要です。

cssTextその要素のcssのすべてを設定/クリアするため、慎重に設定する必要があります。

の副作用を考えると、おそらく最も安全な別の代替手段はcssText、別の CSS クラスを作成して適用することです。これは次のようになります。

.alwaysHide{
    display: none !important;
}
$('div#content_area').addClass('alwaysHide');

お役に立てれば。

于 2013-04-10T20:30:30.293 に答える
4

2 つの構文スタイルを使用しようとしています。

どちらか、これを行う必要があります:

<script>
    $(document).ready(function() {  
        if (location.pathname.indexOf('/SearchResults.asp') != -1 ) {
            $('div#content_area').css('display','none !important');         
        }
    });
    </script>

またはこれを使用する必要があります:

<script>
    $(document).ready(function() {  
        if (location.pathname.indexOf('/SearchResults.asp') != -1 ) {
            $('div#content_area').css({'display' : 'none !important'});         
        }
    });
    </script>
于 2013-04-10T20:35:48.000 に答える