Attribut einfügen
andy
- javascript
Hallo,
bin in javascript nicht so vertraut und habe ein Frage.
Ist es möglich mit Javascript attribute in ein Element einzufügen?
Ich will folgendes machen. Füge in alle lins <a> eines Dokumments atributt target="_blank". Ist das möglich, wenn ja wie würde das aussehen? Vielen Dank im vorraus, ANDY
Hallo,
Ist es möglich mit Javascript attribute in ein Element einzufügen?
Ich will folgendes machen. Füge in alle lins <a> eines Dokumments atributt target="_blank".
Dann solltest du dir mal
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name
und
http://de.selfhtml.org/javascript/objekte/node.htm#set_attribute
anschauen.
Gruß, Jan
Hi,
bin in javascript nicht so vertraut und habe ein Frage.
Ist es möglich mit Javascript attribute in ein Element einzufügen?
Ich will folgendes machen. Füge in alle lins <a> eines Dokumments atributt target="_blank". Ist das möglich, wenn ja wie würde das aussehen? Vielen Dank im vorraus, ANDY
Wäre in so einem Fall nicht die Verwendung von <base target=""> der sinnvollere Weg?
cu,
Andreas
Wäre in so einem Fall nicht die Verwendung von <base target=""> der sinnvollere Weg?
Ja Stimmt, Ich habe aber nicht gewusst, dass es so geht. Danke
Hallo,
Ich will folgendes machen. Füge in alle lins <a> eines Dokumments atributt target="_blank". Ist das möglich, wenn ja wie würde das aussehen?
function BlankLinks()
{
var links=document.links;
var anz=links.length;
for(i=0;i<anz;i++)if(links[i].attributes["href"])links[i].setAttribute("target","_blank");
}
und
<body onload="BlankLinks()">
wobei mir die Methode mit <base target="_blank"> (im head-Element) auch mehr zusagen wuerde.
BTW: Statt attributes["href"] waere auch die Abfrage auf hasAttribute("href") moeglich, aber das setzt der IE nicht um.
MfG, Thomas
wobei mir die Methode mit <base target="_blank"> (im head-Element) auch mehr zusagen wuerde.
Hallo,
danke für die Hilfe, So ging auch. Aber ich habe dann mit base target="_blank" gemacht. Wusste ich nicht dass, es so geht. Danke nochmal.
Gruss Andy
Hi,
links[i].setAttribute("target","_blank");
Besser: links[i].target="_blank";
Dann klappt's auch unter JS 1.5. ;-)
Gruß, Cybaer
Und dann natürlich noch statt
if(links[i].attributes["href"])
if(links[i].href)
=;-)
Gruß, Cybaer
Hallo,
Und dann natürlich noch statt
if(links[i].attributes["href"])
if(links[i].href)
Ich ticke halt kaum noch auf DOM-0-Level, dazu mache ich DOM mittlerweile vorwiegend im SVG-Kontext, wo solche Attribut-Abfragen nicht mehr machbar sind ;-).
MfG, Thomas
Hi,
Ich ticke halt kaum noch auf DOM-0-Level, dazu mache ich DOM mittlerweile vorwiegend im SVG-Kontext, wo solche Attribut-Abfragen nicht mehr machbar sind ;-).
Schon klar. Im DOM Level 0 allerdings auch nicht. In *diesem* Fall aber (also explizit was Links angeht), ist der hier benötigte Wert allerdings seit JS 1.1 direkt abrufbar. *Andere* Attribute sind nicht abrufbar (genauer: es wird auch gar nicht das Attribut HREF abgefragt - die Werte von getAttribute("href") & Co. und links.href sind durchaus unterschiedlich: einmal der reale Attributwert, im anderen Fall der konkrete, absolute URI).
Gruß, Cybaer
Ich ticke halt kaum noch auf DOM-0-Level
Hm? Das kann man auch als DOM 1 HTML auffassen.
Mathias
Hi,
Ich ticke halt kaum noch auf DOM-0-Level
Hm? Das kann man auch als DOM 1 HTML auffassen.
Als DOM Level 1 bezeichnet man die alten "echten", aber proprietären DOMs: all und layer.
DOM Level 0 hat sich als inoffizielle Bezeichnung für die (Basis-)Objekte von JavaScript (insbes. images) eingebürgert, da hier erstmals so etwas wie DHTML möglich war (Image-Rollover).
Gruß, Cybaer
Hallo,
Ich ticke halt kaum noch auf DOM-0-Level
Hm? Das kann man auch als DOM 1 HTML auffassen.Als DOM Level 1 bezeichnet man die alten "echten", aber proprietären DOMs: all und layer.
Ja, das ist mir klar. Was du beschrieben hast, ist aber nicht nur schon in frühen Netscape-JavaScript-Versionen spezifiziert, sondern auch in DOM 1 HTML standardisiert, das gleichzeitig mit DOM 1 Core verabschiedet wurde und mittlerweile über sechs Jahre alt ist. Daher war wohl »ich ticke kaum noch auf HTML-spezifischem DOM« gemeint.
Mathias
Hallo,
Ich will folgendes machen. Füge in alle lins <a> eines Dokumments atributt target="_blank". Ist das möglich, wenn ja wie würde das aussehen?
function BlankLinks()
{
var links=document.links;
var anz=links.length;
for(i=0;i<anz;i++)if(links[i].attributes["href"])
Ist attributes["name"] nicht etwas kritisch? http://www.quirksmode.org/dom/w3c_core.html#attributes getAttribute scheint besser unterstützt zu werden.
(Haben nicht alle Elementobjekte in document.inks per definitionem ein href-Attribut?)
Mathias
Hi,
(Haben nicht alle Elementobjekte in document.inks per definitionem ein href-Attribut?)
Erst ab JS 1.1.
Gruß, Cybaer
(Haben nicht alle Elementobjekte in document.inks per definitionem ein href-Attribut?)
Erst ab JS 1.1.
Meinst du, dass in JavaScript 1.0 auch Links ohne href-Attribut enthalten sind, also diejenigen, die auch in document.anchors stehen? Das finde ich so in keiner der beiden Spezifikationen, sie scheinen sich in dem Punkt zu gleichen.
Hi,
Erst ab JS 1.1.
Meinst du, dass in JavaScript 1.0 auch Links ohne href-Attribut enthalten sind, also diejenigen, die auch in document.anchors stehen?
Nein, aber es war mißverständlich: links besitzt die Eigenschaft href erst ab 1.1.
Gruß, Cybaer
Hallo andy,
Ich will folgendes machen. Füge in alle lins <a> eines Dokumments atributt target="_blank". Ist das möglich, wenn ja wie würde das aussehen?
ich hoffe doch nicht, um eine Seite mit strengerer HTML-Variante doch noch neue Fenster unterzujubeln?
http://selfworld.calocybe.dyndns.org/ftmp/offsite-links.html
Grüße
Roland