onclick nie działa z class ?

onclick nie działa z class ?

Wątek przeniesiony 2014-09-15 07:50 z Webmastering przez dzek69.

Majcon
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Złoczew
  • Postów: 85
0

Witam zrobiłem taki oto testowy kod
Który po kliknięciu div ma wykonać funkcję alert()
tylko że po prostu to nie działa gdy dam getElementById() i diva zmienię z class na id to działa
a na class nie chce dlaczego ?
Doda że nie może być tak
<div class="costam" onclick="funkcja()">sssssssssssssss</div>

Kopiuj
<!DOCTYPE html>
<html>
<body>
<div class="costam">sssssssssssssss</div>
<script type="text/javascript">
	window.onload = function(){
		document.getElementsByClassName('costam').onclick = function() {
			alert('Jakiś tekst');
		}
	}
</script>
</body>
</html>
szalonyfacet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Dąbrowa Górnicza
1

gdzies to juz bylo i to wielokrotnie. na przyszlosc ci sie przyda tez wiadomosc ze dobrzy programisci nazywaja swoje metody tak by mozna bylo wywnioskowac co one robia.

twoja metoda nazywa sie: getElementsByClassName , czyli wez elementy ktore maja klase costam. wez elementY, czyli bedzie ich wiecej niz jeden, wiec jesli masz tylko jeden i bedzie on zawsze jeden to dopinsasz zdarzenie tak:

document.getElementsByClassName('costam')[0].onclick = function() {
jesli jest ich wiecej to musisz petla podopinac zdarzenia

Kopiuj
var el = document.getElementsByClassName('costam');
for (var i=0;i<el.length; i++) {
    el[i].onclick = function(){alert("Finaly!");
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.