2016-08-11 1 views
0

ich einen Anfänger bin so sanft sein, ich habe einen Skript gefunden, so zum Beispiel Informationen aus der URL nach unten zieht meine URL wie folgt aussieht:jQuery: Wert von URL Abrufen eine Klasse hinzuzufügen

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

Was ich versuche zu erreichen ist: Wenn „Kreis“ „ja“ entspricht dann addClass

Bitte siehe mein Code unten:

$(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") 
    }; 

}); 

Es ist der letzte Teil im hängengeblieben, ich habe die var bekam für "cir cle "und" border "aber das Ergebnis könnte" yes "oder" no "sein, also denke ich, wenn" circle "gleich" yes "ist, füge die Klasse hinzu oder entferne die Klasse, wenn sie existiert.

Im Moment wird nur die Klasse hinzugefügt, unabhängig davon, ob das Ergebnis ja oder nein ist, auch wenn beide auf no gesetzt sind.

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

Dank

Antwort

2

Eines Ihrer Probleme direkt von der Fledermaus ist, dass Ihre if-Anweisung doesn habe die richtige Syntax

Sie könnten dies jedoch rationalisieren, indem Sieverwenden.

+0

Perfekt, dass Streamline-Version funktioniert auch dank der anderen großen Antworten, so nah und doch so weit weg :) – webmonkey237

0

Es wurde ein Tippfehler Fehler in Ihrem wenn Bedingung sein könnte, entfernen $ dort über,

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

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