document.getElementsByName neues Problem
Marcel
- javascript
Hallo,
wäre jemand so nett und lösst mein Problem, ich stelle mich einfach zu blöd an und im Forum-Archiv hab ich zwar einiges gefunden, doch leider nicht das Richtige (oder ich blick mal wieder nicht durch).
Mein Problem ist folgendes...
Ich möchte ein Wort per link Durchstreichen lassen und umgekehrt.
dazu habe ich dies geschrieben ...
<html>
<head>
<title>Wortklick</title>
<script language="JavaScript">
<!--
function mask(x) {
document.getElementsByName(x).style.text-decoration = "line-through";
}
function unmask(x) {
document.getElementsByName(x).style.text-decoration = "none";
}
var ww = "meintext";
//-->
</script>
</head>
<body>
<a href="#" name = "meintext" onClick="javascript:unmask('meintext')" onDblClick="javascript:mask('meintext')">Streich mich durch</a>
</body>
</html>
Jetzt bekomme ich nur den Fehler : ww ist unbekannt.
Probiere ich es mal so ...
<a href="#" name = "meintext" onClick="javascript:unmask('meintext')" onDblClick="javascript:mask('meintext')">Streich mich durch</a>
Gibst den Fehler: Objekt erwartet
Hilfe, BITTE,
Danke
Marcel
Hi,
<script language="JavaScript">
ERROR: Required attribute "type" missing.
document.getElementsByName(x).style.text-decoration = "line-through";
Dem Ergebnis einer Berechnung kann man keinen Wert zuweisen. Außerdem hast Du die Variable decoration nicht deklariert, die Du von .style.text abzuziehen versuchst. Desweiteren hat eine Liste von Elementen keine style-Eigenschaft.
onClick="javascript:unmask('meintext')"
Es gibt keinen JavaScript-Befehl namens "javascript:".
Jetzt bekomme ich nur den Fehler : ww ist unbekannt.
Die Variable wird nirgendwo verwendet, wo bekommst Du diesen Fehler?
Probiere ich es mal so ...
Das ist der selbe Code.
Gibst den Fehler: Objekt erwartet
Wo, wann, was? Was ist das Ergebnis Deiner Problemanalyse?
Cheatah
Sorry, hab mich vertipt.
Mein Code ...
<html>
<head>
<title>Wortklick</title>
<script type="text/javascript">
<!--
function mask(x) {
document.getElementsByName(x).style.text-decoration = "line-through";
}
function unmask(x) {
document.getElementsByName(x).style.text-decoration = "none";
}
var ww = "meintext";
//-->
</script>
</head>
<body>
<a href="#" name = "meintext" onClick="unmask(ww)" onDblClick="mask(ww)">Streich mich durch</a>
</body>
</html>
Bin aber immer noch nicht schlauer geworden, möchte nicht schreinen, hab irgendwie ne denkblockarde.
Gruß
Marcel
Hi,
document.getElementsByName(x).style.text-decoration = "line-through";
wieso heißt es wohl getElement_s_ByName, aber getElemen_t_ById? Und welcher Datentyp muss zwangsläufig herauskommen? Darauf habe ich aber schon im vorherigen Posting hingewiesen. Genau wie darauf, wie ".style.text - decoration" interpretiert werden muss.
hab irgendwie ne denkblockarde.
Dagegen hilft ins Bett zu gehen und morgen neu nachzudenken.
Cheatah
Hei Cheatah,
Dagegen hilft ins Bett zu gehen und morgen neu nachzudenken.
Cheatah
Danke für Deine Hilfe, probiere mal die Idee von Alfred.
Ansonsten sehe ich gleich Fussball und denke später noch mal über Deine Antwort und mein schlechtes Verständniss dafür nach.
Schönen Abend noch,
Gruß
Marcel
Ps. Nehme gerne wieder Deine Hilfe entgegen
Hallihallo
wieso heißt es wohl getElement_s_ByName, aber getElemen_t_ById?
Tja das hab ich mich auch schon oft gefragt...und dank dieses Hinweises hab ich noch mal gaaanz langsam die entsprechende Stelle
http://selfhtml.teamone.de/javascript/objekte/document.htm#get_elements_by_name
durchgelesen und siehe da:
es wäre auch so möglich gewesen:
function mask(x) {
window.document.getElementsByName(x)[0].style.textDecoration = "line-through";
}
function unmask(x) {
window.document.getElementsByName(x)[0].style.textDecoration = "none";
}
und
<a href="#" onClick="unmask('meintext')" onDblClick="mask('meintext')" name="meintext">Streich mich durch</a>
Aaaah...*Groschen-Fall*...
...auch wenn Cheatahs Posts manchmal ein bißchen nach "Lehrer" klingen, so tun sie doch ihre Wirkung!
Habt Dank und schlaft schön,
Gruß,
Alfred
Hi,
...auch wenn Cheatahs Posts manchmal ein bißchen nach "Lehrer" klingen, so tun sie doch ihre Wirkung!
freut mich, denn genau das ist meine Intention :-)
Cheatah
Halöle,
Probiers mal mit
function mask(x) {
window.document.getElementById(x).style.textDecoration = "line-through";
}
function unmask(x) {
window.document.getElementById(x).style.textDecoration = "none";
}
und dann
<a href="#" onClick="unmask('meintext')" onDblClick="mask('meintext')" id="meintext">Streich mich durch</a>
Das "name" ist wohl zickig im <a>
Gruß,
Alfred
Hei Alfred,
funktioniert wunderbar, vielen herzlichen Dank!
Schönen Abend noch,
Gruß Marcel
hi,
funktioniert wunderbar, vielen herzlichen Dank!
wenn du dich erst einmal in selfhtml informiert hättest, hättest du unter http://selfhtml.teamone.de/javascript/objekte/style.htm#style_eigenschaften direkt im ersten absatz den hinweis gefunden, dass du statt text-decoration in JS textDecoration schreiben musst ...
gruss,
wahsaga
<script language="JavaScript">
<!--
function mask(x) {
document.getElementsByName(x).style.text-decoration = "line-through";
}
function unmask(x) {
document.getElementsByName(x).style.text-decoration = "none";
}var ww = "meintext";
<a href="#" name = "meintext" onClick="javascript:unmask('meintext')" onDblClick="javascript:mask('meintext')">Streich mich durch</a>
Event-Handler enthalten Code, kein Protokoll.
Jetzt bekomme ich nur den Fehler : ww ist unbekannt.
Das glaube ich nicht. ww wird überhaupt nicht referenziert.
<a href="#" name = "meintext" onClick="javascript:unmask('meintext')" onDblClick="javascript:mask('meintext')">Streich mich durch</a>
Wo ist der Unterschied?
Hilfe, BITTE,
Schrei' nicht rum.