ich kenn mich echt wenig mit JavaScript aus, deshalb diese (wahrscheinlich
anfängerhafte) Frage. Und zwar hab ich eine Umfrage auf meiner Seite,
angeboten von einem externen Service:
Wenn man jetzt aber auf abstimmen drückt, wird die Umfrage im selben Tab
geöffnet und ich möchte jetzt mit JavaScript das Attribut target="_blank"
hinzufügen, was nach meinen Recherchen auch möglich ist Ich hab mir
dann schließlich folgenden Code zusammengebastelt,:
Code:
<script language="JavaScript">
<!--
if (document.getElementByName("script)[1]) {
var survey = document.getElementByName("script")[1];
survey.setAttribute('target', '_blank');} else {
alert('Kann kein Element mit dem Namen script finden');}
//-->
</script>
doch es passiert überhaupt garnichts. Weder wird das Attribut hinzugefügt,
noch öffnet sich eben diese Meldung im else. What 2 do
Ich hoffe jemand kann den Code korrigieren oder ganz ersetzen
Grüße
Nico
/* Edit: */
Ich will eigentlich nicht dem Script das Attribut hinzufügen, sondern dem
Link im Script :/
Zuletzt bearbeitet von web-cube am 01.09.2012, 15:02, insgesamt einmal bearbeitet
mit [1] greift man übrigends auf das 2. Element zu, da der Index bei 0 beginnt.
Das nur am Rande, falls du das noch nicht wusstest.
Das Anführungszeichen hab ich ergänzt, es hat sich jedoch nichts geändert.
Das mit den Nummern ist mir bekannt, aber zählt der Script selbst auch mit?
Und gibt es eventuell im Quellcode des Baukastens Scripte, die mitgezählt
werden müssen?
philipp7 hat Folgendes geschrieben:
Wie man jetzt aber genau auf den Link zugreift kann ich dir leider nicht sagen, da ich den Quellcode nicht kenne.
Könntest du uns also bitte den Link zur entsprechenden Seite geben.
Übrigends noch etwas:
getElementByName -> getElementsByTagName
web-cube hat Folgendes geschrieben:
Das Anführungszeichen hab ich ergänzt, es hat sich jedoch nichts geändert.
Das mit den Nummern ist mir bekannt, aber zählt der Script selbst auch mit?
Und gibt es eventuell im Quellcode des Baukastens Scripte, die mitgezählt
werden müssen?
Ich würde das Ganze attributbedingt machen, dann ist es egal, wenn du noch mehr Skripte davor einbindest:
Code:
function getElementByAttr(name, attr, attrValue) {
var e = document.getElementsByTagName(name);
for(var i = 0; i < e.length; i++) {
if(e[i].getAttribute(attr) == attrValue) {
return e[i];
}
}
}
Aufrufen mit:
Code:
var scriptTag = getElementByAttr("script", "src", "http://146371.vote.onetwomax.de/?output=js");
Den Button kann man dann auch mit dieser Funktion finden:
Code:
var scriptTag = getElementByAttr("input", "value", "Abstimmen");
Cookies sind kleine Textinformation, die wir oder Partner von uns über deinen Browser lokal bei dir speichern.
Du kannst jederzeit die Nutzung von Cookies über die Einstellung deines Browsers verhindern.
Wir nutzen folgende, mit der DSGVO konforme Cookies:
- Essentielle Cookies: Sind unbedingt notwendig damit die Website voll funktionsfähig ist.
- Optionale Cookies: Sind optional und helfen uns die Website zu verbessern, z.B. indem sie das Nutzungsverhalten auf der Website analysieren, ohne dabei dich persönlich zu identifizieren.
Mehr Informationen findest du in unser Datenschutzerklärung.