| 

.NET C# Java Javascript Exception

1
Hallo!

Mein Problem ist wie folgt:

Ich habe einen div mit id=divid01

Ich habe auch eine Javascriptfunktion, welche mit diesem DIV was macht. das DIV spreche ich mit document get element by id an und manipuliere dann per Javascript eben die Style-Werte wie ich will.

Sache ist: darunter sind noch viele div mit id=divid02 id=divid03 usw.

Für diese möchte ich die selbe Funktionalität mit javascript haben. Muss ich jetzt die Funktion jedes mal runterkopieren um das sicher zu stellen, oder kann man in Javascript auch so was angeben wie:

wenn: link in div mit id= 02 geklickt wird

dann: führe aktion auf div mit id= 02 aus

wenn link in div mit id= 05 geklickt wird

dann führe aktion auf div mit id=05 aus
28.04.2011
Andylee 75 1 4
1 Antwort
2
ID Attribute kannst du nicht verwenden zum ansprechen , da eine ID einmalig im Dokument sein muss.
Du kannst hierfür das Class Attribut verwenden.

Beispiel:
<div class="change"></div>
<div class="change"></div>
<script>
var obj = document.getElementsByClassName("change");
alert(obj.length);
</script>


_____________________
Beispiel this
<script>
function test(div){
alert(div.id);
}
</script>

<div id="1" onclick="test(this)" style="border:1px solid red;">div1</div>
<div id="2" onclick="test(this)" style="border:1px solid red;">div2</div>
28.04.2011
Marco Rieger 820 8
wenn ich dann im script aber etwas verändere, dann wirkt das doch auf alle divs dieser klasse? gibt es eine möglichkeit, die wirkung dann auf einen bestimmten div dieser klasse zu lenken (zB: linkklick in div id=02 class= change ruft funktion auf, deshalb soll auch nur der div mit der id = 02 von den auswirkungen betroffen sein.)
Andylee 28.04.2011
aber das würde dann doch alle divs mit dem class-attribut "change" gleichzeitig betreffen.

Geht das auch, dass man sagt: div id = 02 class = change ruft die funktion auf, deshalb wird auch nur div id =02 manipuliert und nicht der div id = 04 class = change?
Andylee 28.04.2011
aber das würde dann doch alle divs mit dem class-attribut "change" gleichzeitig betreffen.

Geht das auch, dass man sagt: div id = 02 class = change ruft die funktion auf, deshalb wird auch nur div id =02 manipuliert und nicht der div id = 04 class = change?
Andylee 28.04.2011
oh, sorry für die doppelposts!
Andylee 28.04.2011
1
Du kannst 1 Funktion für mehrere DIVs verwenden und dich in der Funktion dann mit dem Bezeichner
"this." auf das aktuelle Object beziehen.

Dazu schau dir das mal an

http://de.selfhtml.org/javascript/sprache/objekte.htm#this
Marco Rieger 28.04.2011
hab mein beitrag mit einem Beispiel editier, hoffe das es dir hilft
Marco Rieger 28.04.2011

Stelle deine Javascript-Frage jetzt!