2016-08-11 11 views
0

クラスを追加するために、私はURLから情報をプルダウンするスクリプトを発見した、たとえば私のURLは次のようになります。jQueryのは:URLから値を取得するので、穏やかな、私は初心者だ

http://www.website.com/page/pagename?circle=yes&border=no 

私は何を達成しようとしていることである:「円」は「はい」と等しい 場合、addClass

以下の私のコードを参照してください:

$(document).ready(function() { 

var getUrlParameter = function getUrlParameter(sParam) { 
    var sPageURL = decodeURIComponent(window.location.search.substring(1)), 
    sURLVariables = sPageURL.split('&'), 
    sParameterName, 
    i; 

    for (i = 0; i < sURLVariables.length; i++) { 
     sParameterName = sURLVariables[i].split('='); 

     if (sParameterName[0] === sParam) { 
      return sParameterName[1] === undefined ? true : sParameterName[1]; 
     } 
    } 
}; 

var circle = getUrlParameter('circle'); 
var border = getUrlParameter('border'); 

if($(circle == 'yes')) { 
     $(".testDiv").addClass("circ") 
    } else { 
     $(".testDiv").removeClass("circ") 
    }; 

    if($(border == 'yes')) { 
     $(".testDiv").addClass("bdr") 
    } else { 
     $(".testDiv").removeClass("bdr") 
    }; 

}); 

は、それが最後の部分イムに引っかかって、私はVARのために持っています"cir私は、 "円"が "はい"と等しい場合は、そのクラスを削除してください。そうでなければクラスを削除してください。

現在のところ、両方がnoに設定されていても、結果が「はい」か「いいえ」のどちらであっても、クラスを追加するだけです。

http://www.website.com/page/pagename?circle=no&border=no 

おかげ

答えて

2

を$を削除し、あなたの文はdoesnの場合ということです

ただし、を使用してこれを合理化することができます。

$(".testDiv").toggleClass('circ', circle === 'yes'); 
$(".testDiv").toggleClass('bdr', border === 'yes'); 
+0

完璧な流線型の作品は、他の偉大な答えのおかげで素晴らしい、非常に近いまだ遠く:) – webmonkey237

0

それはあなたの場合は条件のタイプミスミス可能性があり、右のバットだから、あそこにあなたの問題のいずれかを

if(circle == 'yes') { 
     $(".testDiv").addClass("circ"); 
    } else { 
     $(".testDiv").removeClass("circ"); 
    } 

    if(border == 'yes') { 
     $(".testDiv").addClass("bdr"); 
    } else { 
     $(".testDiv").removeClass("bdr"); 
    } 
関連する問題