2012-04-04 19 views
1

Mit diesem Link wie bekomme ich nur die? Ref = "This" Teil? Weil ich nur diesen Teil der Verbindung mit jQuery auswählen und später als Variable verwenden möchte. Ist das möglich ?? Ich möchte es tun, wenn ich die Seite lade. Also:Verwenden Sie einen Teil eines Links als eine Variable

JavaScript:

$(document).ready(function() 
    GET the variable (var variable = ref="THIS";) 

    if(cookie != null){ 
    $("#"+variable).show().$.cookie("actual" , variable); 

}); 

Html:

<a href="products.php?ref=oscilobatiente&tipo=7001ad></a> 

Antwort

2

See this fiddle

Bearbeiten

: Ich angepasst, damit er mit Objekten arbeitet jetzt dank einiger guter Kommentare von Thiefmaster

js

$(function() { 
    var url = $("a").attr("href"); 
    var index = url.indexOf('?'); 
    var vars = url.substring(index + 1, url.length).split('&'); 
    var params = {} ; 
    for(var i = 0; i < vars.length; i ++) 
    { 
     var param = vars[i].split('='); 

     params[param[0]] = param[1]; 

    } 
    alert(params.ref); 
});​ 
+1

'[]' der bevorzugte Weg, um ein Array zu erstellen (anstelle von 'new Array() '). Allerdings wollen Sie in diesem Fall kein Array, sondern ein Objekt ('var params = {};'), da Sie benannte Felder verwenden. Falls Sie sich fragen, warum Ihr Code trotzdem funktioniert: Ein 'Array' ist auch ein Objekt, also kann es Eigenschaften haben. Sie werden jedoch nicht für ihre "Länge" gezählt. – ThiefMaster

+0

@ThiefMaster ok, aber ansonsten funktioniert das. – Frederiek

+0

Yeah, rate so;) Upvote eingehend, wenn du es änderst – ThiefMaster

2

ok dem A-Tag die ID myLink so geben, man beachten könnte (dass die + 4 auf dem Index, so dass es enthält keine "ref =":

var myLinkHref = $("#myLink").attr("href"); 
var ref = myLinkHref.substring(myLinkHref.indexOf("ref=") + 4); 
Verwandte Themen