Problem mit Tag-Hierarchie
Sören
- javascript
Hi,
ich habe folgenden Code
for (i = 1; i <= numbers1.length; i++){
document.write('<span class="two" style="background-image: url(img/'+numbers1[count]+'.jpg)" if="'+numbers1[count]+'" value="'+numbers1[count]+'"><img src="img/back.jpg" onClick"versuch(this)" value="'numbers1[count]+'/></span>');
zeilebruch++
if (zeilebruch == 4) {document.write('<br>'); zeilebruch = 0;};
count++
}
function versuch(element) {
element.style.visibility = "hidden"
alert(parent.value)
}
Erklärung wie der Code funktionieren soll:
Es wird als erstes ein Array mit dem Namen numbers1 erstellt und mit Werten zwischen 1 und 16 gefüllt. Für jedes Element in dem Array wird dann ein eigener Span-Tag erzeugt, der die ID von der jeweiligen Zahl hat. Der Valuetext entspricht auch dem Array-Element, genauso wie der Hintergrundbildname dem Array-Element entspricht. Dann wird anschließend noch ein Bild mit dem Namen "back.jpg" erstellt, welches das hintergrundbild verdeckt. Wenn 4 Span-Tags nebeneinander liegen, dann wird ein Zeilenumbruch erzeugt.
Wenn jetzt auf eines der Hintergrundbilder geklickt wird, verschwindet das entsprechen "back.jpg"-Bild. Und es soll für eine Später überprüfung auf die ID oder das Value des entsprechenden Span-Tags zugegriffen werden.
Diesen Zugriff habe ich mit parent.value versucht, was aber nicht funktioniert. Jetzt meine Frage: wie kann ich auf den Span-Tag zugreifen, ohne die genaue ID bzw. Value zu kennen?
Gruß
Sören
wie kann ich auf den Span-Tag zugreifen, ohne die genaue ID bzw. Value zu kennen?
wie kann ich auf den Span-Tag zugreifen, ohne die genaue ID bzw. Value zu kennen?
http://de.selfhtml.org/javascript/objekte/node.htm
ich habe mir das mit den nodes jetzt genau durchgelesen...rausgefunden, wie ich von dem img-tag auf den span-tag zugreifen kann, habe ich immer noch nicht...
gruß
Sören
Mahlzeit,
wie kann ich auf den Span-Tag zugreifen, ohne die genaue ID bzw. Value zu kennen?
http://de.selfhtml.org/javascript/objekte/node.htmich habe mir das mit den nodes jetzt genau durchgelesen...
Das bezweifle ich.
rausgefunden, wie ich von dem img-tag auf den span-tag zugreifen kann, habe ich immer noch nicht...
Dann hast Du wohl http://de.selfhtml.org/javascript/objekte/node.htm#previous_sibling@title=previousSibling überlesen ...
MfG,
EKKi
Mahlzeit,
wie kann ich auf den Span-Tag zugreifen, ohne die genaue ID bzw. Value zu kennen?
http://de.selfhtml.org/javascript/objekte/node.htmich habe mir das mit den nodes jetzt genau durchgelesen...
Das bezweifle ich.
rausgefunden, wie ich von dem img-tag auf den span-tag zugreifen kann, habe ich immer noch nicht...
Dann hast Du wohl http://de.selfhtml.org/javascript/objekte/node.htm#previous_sibling@title=previousSibling überlesen ...
MfG,
EKKi
nein hab ich nciht...wenn ich das verusch, dann wird mir gesagt, das ganze sei nicht definiert...
also ich hab nen span tag mit ner id und nen img tag...jetzt klick ich auf das bild und ich will auf den spantag zugreifen...
ein weiteres problem dabei ist, das mir der span-tag und der img-tag dynamisch erzeugt wird und ich vorher nicht weiß, welche id der span-tag hat oder an welcher position er steht...
gruß
Sören
Hallo,
ein weiteres problem dabei ist, das mir der span-tag und der img-tag dynamisch erzeugt wird und ich vorher nicht weiß, welche id der span-tag hat oder an welcher position er steht...
wenn du diese Schachtelung <span><img onclick="versuch(this)"></span>
hast, dann ist img.parentNode()
und nicht wie in deinem 1.Versuch parent
die richtige Wahl.
function versuch(element) {
alert("element: "+element.nodeName
+"\nparentNode: "+element.parentNode.nodeName
+"\nparentNode.id: "+element.parentNode.id
);
element.style.visibility = "hidden";
}
Gruß plan_B
Hallo,
ein weiteres problem dabei ist, das mir der span-tag und der img-tag dynamisch erzeugt wird und ich vorher nicht weiß, welche id der span-tag hat oder an welcher position er steht...
wenn du diese Schachtelung
<span><img onclick="versuch(this)"></span>
hast, dann istimg.parentNode()
und nicht wie in deinem 1.Versuchparent
die richtige Wahl.
function versuch(element) {
alert("element: "+element.nodeName
+"\nparentNode: "+element.parentNode.nodeName
+"\nparentNode.id: "+element.parentNode.id
);element.style.visibility = "hidden";
}
>
> Gruß plan\_B
danke...das is genau das was ich gebraucht habe...iwie war ich zu blöd, da drauf zu kommen....vielen dank nochmal
Hallo,
Das ist Müll:
document.write('<span class="two" style="background-image: url(img/'+numbers1[count]+'.jpg)" if="'+numbers1[count]+'" value="'+numbers1[count]+'"><img src="img/back.jpg" onClick"versuch(this)" value="'numbers1[count]+'/></span>');
– <span> kennt kein Attribut namens "if"
– <span> kennt kein Attribut namens "value"
– <img> kennt kein Attribut namens "value"
- onClick"versuch(this)" ist falsch
– value="'numbers1[count]+'/></span>' ist falsch
Gruß, Don P
Hallo,
for (i = 1; i <= numbers1.length; i++){
document.write('<span class="two" style="background-image: url(img/'+numbers1[count]+'.jpg)" if="'+numbers1[count]+'" value="'+numbers1[count]+'"><img src="img/back.jpg" onClick"versuch(this)" value="'numbers1[count]+'/></span>');
"i" ist durch die for-Schleife initialisiert, allerdings als globabe Variable
besser wäre `for (var i = 1; i <= numbers1.length; i++)`{:.language-javascript}
"count" ist überhaupt nicht definiert, sollte das "i" sein?
ein <span>-Element kennt kein value-Attribut, ebenso <img>,
du meinst wahrschienlich die id?
du möchtest doch eher sowas erzeugen
~~~html
<span id="s1" style=" ... "><img id="i1" src="..." onclick="versuch(this)"></span>
zu beachten ist, das die ID mit einem Buchstaben beginnen muss.
Gruß plan_B