1

サイトに入力された検索語に基づいて、さまざまな div を表示する必要があります。URL には入力した検索語が含まれるので、URL 内の文字列をチェックして、一致するものがあれば div を表示できると考えました。

Doufeu/doufeu 部分の場合、div は第 1 項に基づいてのみ表示されます。コードは以下のとおりです。文字列に Dofeu が含まれている場合にのみ表示されますが、dofeu は表示されません。なんで?

herehereを読んだことに基づいて、以下のコードを試してみました。また、|| の代わりに && を使用しています。2番目のリンクは、最初の条件がfalseの場合にのみ2番目の条件が読み取られることを説明しているためです。これを見つけて、コンマで区切ってみました。しかし、どれも私にとってはうまくいきません。これが私が今いる場所です:

        <script type="text/javascript">
        $(document).ready(function(){

            if ((window.location.href.indexOf("searchTerm=Doufeu" || "searchTerm=doufeu") > -1)){
            $("#learn-doufeu").show();
        }

        else {
            $("#ci-guide").show();
        }
        });
        </script>

if else 条件を新しく作成し、Dofeu と Dofeu をそのように分離できることはわかっていますが、OR を使用してそれを行う方法は確かにあります。

4

3 に答える 3

6

orの結果ではなく、2 つの文字列を一緒に -ing していますindexOf。代わりに 2 つの別々の呼び出しを行います。

if (window.location.href.indexOf("searchTerm=Doufeu") != -1 || window.location.href.indexOf("searchTerm=doufeu") != -1)

これを行うためのより良い方法は、正規表現を使用することです。

if (/searchTerm=[Dd]oufeu/.test(window.location.href)) {
    // do stuff
}
于 2013-09-10T16:24:12.753 に答える
0

あなたのコードはあなたの意図を反映していません。あなたのコードは実際に OR 演算 || を適用します。比較ではなく、2 つの文字列に対して。

コードをに変更します

if ( (window.location.href.indexOf("searchTerm=Doufeu") > -1) ||
     (window.location.href.indexOf("searchTerm=doufeu") > -1)    ){
于 2013-09-10T16:27:35.953 に答える