Ich möchte eine Bestätigung in einem bestimmten Punkt haben.Erhalten Sie den vollständigen URI aus der Eigenschaft href eines Links
Mein Ziel ist es, immer die gleiche Zeichenfolge (die in meinem Fall der URI ist) zu erhalten, während Sie die href-Eigenschaft von einem Link lesen. Beispiel:
<a href="test.htm" />
mit base_url = http://domain.name/
<a href="../test.htm" />
mit base_url = http://domain.name/domain/
<a href="http://domain.name/test.htm" />
mit base_url = beliebige Ordner aus http://domain.name/
Ich brauche oben http://domain.name/test.htm
aus den drei Situationen zu bekommen (oder jede andere identische Zeichenfolge).
Nach einigen Tests scheint es, dass my_a_dom_node.href
immer die voll qualifizierte URI zurückgeben, einschließlich der http://domaine.name, die in Ordnung sein sollte für das, was ich will.
jQuery hat ein anderes Verhalten und $(my_a_dom_node).attr('href')
gibt den Inhalt (Text) zurück, der in HTML angezeigt wird. Also mein Trick ist, $(my_a_dom_node).get(0).href
zu verwenden, um den vollen URI zu erhalten.
Die Frage ist: kann ich mich darauf verlassen?
function parseLink(link) {
var baseUrl = location.href.substring(0,location.href.lastIndexOf('/'));
if (link.indexOf('/') != -1) {
link = link.substring(link.lastIndexOf('/'));
} else {
link = "/"+ link;
}
var fullUrl = baseUrl + link;
return fullUrl
}
BTW: '$ (my_a_dom_node) .get (0) .href = = $ (my_a_dom_node) [0] .href' – Tomalak