Wie füge ich ein onclick-Ereignis zu html-Tags hinzu, ohne dass id JavaScript verwendet?

8

Ich habe versucht, dies zu tun, aber es schien nicht zu funktionieren:

%Vor%

Ich weiß, ich kann ElementById bekommen und das funktioniert, aber es funktioniert nicht so. Jede Hilfe wäre willkommen.

Danke!

    
Graham 13.09.2010, 21:49
quelle

5 Antworten

7

document.getElementsByTagName ('a') gibt eine NodeList von DOM-Elementen zurück. Also für Anfänger, müssen Sie über sie iterieren und einen Handler an jedes wie folgt anfügen:

%Vor%

Wenn es viele Elemente gibt, empfehle ich Ihnen, Event-Delegation zu lesen Weisen Sie nur einen Handler für alles zu.

    
Rajat 13.09.2010 21:55
quelle
3
%Vor%     
egrunin 13.09.2010 21:53
quelle
1

Das liegt daran, dass getElementsByTagName eine NodeList zurückgibt. Sie können einen Ereignishandler nicht über die Eigenschaft onclick für eine NodeList zuweisen, sondern nur eine einzige DOMElement .

Versuchen:

%Vor%     
Cristian Sanchez 13.09.2010 21:53
quelle
1

Sie müssen über alle Elemente, die von document.getElementsByTagName

zurückgegeben werden, iterieren %Vor%     
Sean Vieira 13.09.2010 21:53
quelle
0

Ich würde dringend empfehlen, JQuery zu verwenden. So etwas sollte den Trick machen:

%Vor%     
StriplingWarrior 13.09.2010 21:54
quelle

Tags und Links