Extrahiere href aus html mit jQuery

7

Ich versuche den Wert von href von einem Anker zu bekommen. Der Code sieht so aus

var html = "<a href='http://path/to/file.pdf'>File</a&gt;";
alert(jQuery("a",html).attr("href"));

Die einzige Ausgabe, die ich bekomme, ist 'undefiniert'. Ich möchte " Ссылка " erhalten.

Jede Hilfe wird sehr geschätzt.

    
Craig552uk 18.06.2010, 22:37
quelle

3 Antworten

16

Versuchen Sie:

%Vor%

Oder wenn das <a> -Tag im HTML tiefer ist als in Ihrem Beispiel:

%Vor%

Die Funktion jQuery() konvertiert HTML-Zeichenfolgen in DOM-Objekte und gibt ein jQuery-Objekt zurück, das sie für Sie enthält.

    
gnarf 18.06.2010, 22:42
quelle
3

Um zu erklären, warum Ihre Methode nicht funktioniert - wenn Sie jQuery("a",html) ausführen, suchen Sie nach Elementen im Kontext des in html gespeicherten Elements.

Das Einzige, was sich gerade darin befindet, ist der Dateitext. Wenn Ihre Zeichenfolge beispielsweise in ein Div eingeschlossen wurde, würde es funktionieren. <div><a href='...'>File</a></div>

Ich nehme an, dass Sie einen anderen Grund haben, ein jQuery-Objekt zu erstellen. Wenn nicht, und Sie den zusätzlichen Aufwand nicht möchten, können Sie einen regulären Ausdruck verwenden.

Beispiel: Ссылка

%Vor%

Ansonsten sind die Antworten, die gnarf und Dzida gaben, hervorragend.

    
user113716 18.06.2010 23:25
quelle
1

Ihr Code sollte so aussehen, dass er so funktioniert, wie Sie möchten:

%Vor%     
dzida 18.06.2010 22:50
quelle

Tags und Links