2016-06-21 8 views
1

Ich habe eine Anforderung, wo ich extract die 1st href von einem string.Auszug Anker Tag href aus Zeichenfolge JavaScript/Jquery

Sagen wir, ich habe eine Zeichenfolge auf diese Weise:

var LinkString="Google Link Is:<a href='www.Google.com' target='_blank' style='text-decoration:none; color:#000000;'>URL</a>"; 

Jetzt muss ich find all the anchor tags von diesem string und extract the first anchor tag's href.

Ich habe dieses Beispiel von here gefolgt und habe versucht, das Anker-Tag aus der Zeichenfolge zu finden.

Aber ich bin nicht in der Lage, die href des ersten Elements zu bekommen.

var LinkString="Google Link Is:<a href='www.Google.com' target='_blank' style='text-decoration:none; color:#000000;'>URL</a>"; 
    var output = LinkString.split(/(?=<a)/)[1]; 

ich auch creating a DOM element vom output anchor tag aber nicht in der Lage versucht habe, nach dem Verfahren von here

Meine Forderung, die genaue href zu erhalten, ist die Google.com als endgültige Ausgabe zu erhalten.

Kann mir jemand helfen, die href zu bekommen?

Antwort

3

Sie haben ein virtuelle HTML-Element verwenden wie div den HTML-String-Wert zu legen in sie, dann können Sie Zielen Sie auf den Anker, um den href zu extrahieren:

var htm="Google Link Is:<a href='www.Google.com' target='_blank' style='text-decoration:none; color:#000000;'>URL</a>"; 
 
var href = $('<div>').append(htm).find('a:first').attr('href'); 
 
console.log(href)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

danke Jungs. Konnte nicht auf diese Art denken :) – RealSteel

+0

Sie sind @RealSteel willkommen. – Jai

3

können Sie erstellen DOM-Element dann das Extrakt anchor

var LinkString="Google Link Is:<a href='www.Google.com' target='_blank' style='text-decoration:none; color:#000000;'>URL</a>"; 
 
var firstAnchor = $('<div></div>').append(LinkString).find('a:first'); 
 
console.log(firstAnchor.prop('outerHTML')); //Get HTML 
 
console.log(firstAnchor.attr('href')); //Get href attribute 
 
console.log(firstAnchor.prop('href')); //Get href property
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Müssen Sie es anhängen? –

+0

@MedetTleukabiluly, Ja, sonst wird jQuery Fehler werfen. – Satpal

1

können Sie tun, um diese Art und Weise jsfiddle:

var LinkString="Google Link Is:<a href='www.Google.com' target='_blank' style='text-dec`oration:none; color:#000000;'>URL</a>"; 

var dom = jQuery.parseHTML("<div>" + LinkString + "</div>"); 
console.log(dom); 
console.log($(dom).find("[href]").attr("href")); 

Dies sucht nach dom Elemente, die das Attribut href haben und druckt die erste href gefunden.