Wie kann ich das href
Attribut mithilfe von JavaScript dynamisch zu einem Link hinzufügen ?
Grundsätzlich möchte ich ein href
Attribut <a></a>
dynamisch hinzufügen (dh wenn der Benutzer auf ein bestimmtes Bild auf der Website klickt).
Also von:
<a>Link</a>
Ich muss gehen zu:
<a href="somelink url">Link</a>
javascript
html
Pavel
quelle
quelle
setAttribute
). Weiß jemand, ob dieser Ansatz Standard ist?HTMLLinkElement
denen das Festlegen bestimmter Felder unterstützt wird, zhref
. Sie müssen in der Referenz nachsehen, welche Sie verwenden können, ohne es zu müssensetAttribute
. Ein weiteres Beispiel ist das<table>
Element ( HTMLTableElement ), mit dem SieinsertRow()
neue Zeilen einfügen können , ohne das erstellen<tr>
und an die Tabelle anhängen zu müssen.setAttribute()
und verwendengetAttribute()
, die im IE fehlerhaft sind und nicht immer das tun, was Sie vielleicht erwarten. Siehe stackoverflow.com/questions/4456231/…Ich gehe davon aus, dass Sie wissen, wie Sie das DOM-Objekt für das
<a>
Element erhalten (usedocument.getElementById
oder eine andere Methode).Verwenden Sie zum Hinzufügen eines Attributs einfach die setAttribute- Methode für das DOM-Objekt:
quelle
setAttribute
ist eindeutig der Standard ( w3.org/TR/DOM-Level-2-Core/core.html#ID-F68F082 ). und W3C definiert keine Attribute, für die es nicht funktioniert. Umgekehrt kann ich garantieren, dass die Verwendung der Eigenschaft für bestimmte Attributnamen fehlschlägt. WietagName
, undsetAttribute
- das sind bereits Felder / Methoden der Element-Schnittstelle. Ich sehe nirgendwo im W3C-Dokument, in dem Eigenschaften für Attribute erwähnt werden.tagName
. Sprechen Sie über benutzerdefinierte Attribute?getAttribute
und zuverlässig abrufen und festlegensetAttribute
."tagName"
ist ein Beispiel für ein Attribut, das nicht als Eigenschaft funktionieren kann. Nur wenn Sie mit HTML arbeiten und für bestimmte Attribute, die in der DOM-HTML-Spezifikation definiert sind, können Sie die Eigenschaften zum Lesen und Zuweisen von Attributen verwenden.tagName
ist eine Eigenschaft vonElement
Objekten in JavaScript, sowohl in HTML- als auch in XML-DOMs, und Sie können den Tag-Namen eines Elements nicht übergetAttribute("tagName")
(außer im IE, dessen Implementierung vongetAttribute()
und fehlerhaft ist) abrufensetAttribute()
, was genau das Gegenteil von dem zu sein scheint, was Sie sagen.Zuerst versucht Wechsel
<a>Link</a>
zu<span id=test><a>Link</a></span>
.Fügen Sie dann der aufgerufenen Javascript-Funktion Folgendes hinzu:
Auf diese Weise sieht der Link folgendermaßen aus:
quelle
href
einem vorhandenena
Tag ein hinzugefügt werden kann ( ich möchte <a> </a> dynamisch ein href-Attribut hinzufügen ). Allerdings scheint diese Antwort zu erklären , wie erstellen einena
Tag mit einhref
.Ich weiß, dass dies ein alter Beitrag ist, aber hier ist ein Einzeiler, der für einige Leute besser geeignet sein könnte.
quelle