php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.12.2011, 14:00  
Benutzer
 
Registriert seit: 27.11.2011
Beiträge: 64
PHP-Kenntnisse:
Anfänger
daniel_1998 befindet sich auf einem aufstrebenden Ast
Standard

Danke @rudygotya für den Denkanstoß.
Auf das nutzen von getElementsByClassName bin ich noch garnicht gekommen.

Entsprechend habe ich versucht... gemäß mein bisheriges können... das ganze umzubauen.

PHP-Code:
<form name="artikel">
<
table width="100%" cellspacing="2" cellpadding="0" border="1">
<
tr>
<
tr id="tr-1339" class="foo" onclick="selectRadioButton(1339);" style="background-color: white">
<
tr id="tr-1340" class="foo" onclick="selectRadioButton(1340);" style="background-color: white">
</
table>
</
form
PHP-Code:
    function selectRadioButton(id)
    {
        for (var 
i=0document.getElementsByClassName'foo' ).lengthli++)  
        {
            
alert('id lautet: ' +id' || tr-id lautet: 'this.id);
            if( 
'tr-'+id == document.getElementById('tr-'+id).id )
            {
                
document.getElementById('tr-'+id).style.backgroundColor "red";
            }
            else
            {
                
document.getElementById('tr-'+id).style.backgroundColor "yellow";
            }
            
        } 
Nun aber mein aktuelles Verständniss Problem:

Das ganze klappt soweit, das nur die Zeile rot eingefärbt wird, die ich angelickt habe. Das sagt mir, das ich die richtige Zeile anspreche.

Wenn ich mir die Schleifenwerte per alert aber ausgebe, erhalte ich beim Code:

alert('id lautet: ' +id+ ' || tr-id lautet: '+ document.getElementById('tr-'+id).id);

immer die den gleichen Wert zurück: id lautet: 1339 || tr-id lautet: tr-1339
die zurückgegebene id 1339 ist korrekt. die tr-id ändert sich aber garnicht. Diese dürfte ja aufgrund der Schleife nur einmal gleich sein.
Aber okay. DAS kann ich noch verstehen, da es ja eine for und keine foreach-Schleife ist. Sprich: ich müßte da noch [i] einbringen, um das nächste Element zu erhalten. Aber da bekomme ich nur undefined zurück.

Deshalb hab ich wie im ersten Code gepostet schon mit this gearbeitet.
Damit sollte ich (gemäß beines aktuellen Wissens nach) den id Wert vom aktuellen Element zurückbekommen. Nunja.... SOLLTE. Denn leider wird daraus wieder nur ein undefined

Und damit stoße ich auf ein Problem, was in den Dokus nicht erklärt wird.
(Sicherlich weil ich es falsch anstelle)
daniel_1998 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.12.2011, 14:01  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Würde also Lösungsvorschläge ohne Framework bevorzugen.
Hier ist einer: Lerne Grundlagen, anstatt Dir Syntax auszudenken:
Zitat:
'tr-element-'+[0-9]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 11.12.2011, 14:11  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Hier noch einer: das verlinkte Buch erklärt dir alles, was du für deine Lösung brauchst, in Kapitel 11, 12 und 13.. Paar Grundlagen aus anderen Kapiteln wirst du auch noch brauchen

Wenn du wirklich nur das nötigste willst (Zugriff auf das DOM crossbrowser und nicht mehr), dann benutz doch nur sizzle.js.

Wieso debuggst du immer noch per alert? Klick bitte auch auf links, die man dir postet.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 11.12.2011, 14:25  
Benutzer
 
Registriert seit: 27.11.2011
Beiträge: 64
PHP-Kenntnisse:
Anfänger
daniel_1998 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
Wieso debuggst du immer noch per alert? Klick bitte auch auf links, die man dir postet.
Weil das für mich aktuell die einfachste Lösung ist um zu sehen, was gerade in der aktuellen Schleifenposition an Informationen drin ist. (ein print_r oder var_dump in js ist mir nicht bekannt)

Die Links habe ich sehr wohl angeklickt... aufgrund der Englischsprachigen Seite aber schnell an gewisse Grenzen gestoßen bin.
Berücksichtige bitte, das ich erst in der 7ten Klasse bin. Englisch wird natürlich schon behandelt... aber noch lange nicht so, das ich komplette Sätze bestehend aus IT-Sprache lesen bzw. verstehen könnte.

Wobei ich das Problem aber aktuell grad lösen konnte.
Vermutlich werden die Profis gleich reihenweise darüber herziehen... aber mein Ziel ist damit erreicht. Es entspricht mein Wissens und könnenstands.

PHP-Code:
        for (var i=0document.getElementsByClassName'foo' ).lengthli++)  
        {

            if( 
'tr-'+id == document.getElementsByClassName'foo' )[i].id )
            {
                
document.getElementsByClassName'foo' )[i].style.backgroundColor "red";
            }
            else
            {
                
document.getElementsByClassName'foo' )[i].style.backgroundColor "white";
            }
        } 
ich werds jetzt zwar noch n bissel verfeinern, da der prefix tr- meiner meinung nicht wirklich von nutzen ist... aber im grunde genommen wird es von aufbau gleich bleiben.
daniel_1998 ist offline   Mit Zitat antworten
Alt 11.12.2011, 14:26  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Berücksichtige bitte, das ich erst in der 7ten Klasse bin
Hellsehen kann hier niemand.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 11.12.2011, 14:28  
Benutzer
 
Registriert seit: 27.11.2011
Beiträge: 64
PHP-Kenntnisse:
Anfänger
daniel_1998 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Hellsehen kann hier niemand.

Sorry. Stimmt. ICh schau mal, ob ich das im Profil irgendwie setzen kann.
Wobei mein Nickname aber meine 13 jahre schon erahnen lassen sollte.

Danke trotzdem für die Hilfe.
daniel_1998 ist offline   Mit Zitat antworten
Alt 11.12.2011, 14:30  
Benutzer
 
Registriert seit: 27.11.2011
Beiträge: 64
PHP-Kenntnisse:
Anfänger
daniel_1998 befindet sich auf einem aufstrebenden Ast
Standard

so... Signatur sollte vvlt. ein bissel helfen, mich entsprechend einzushätzen
__________________
13 Jahre // Fortgeschrittene PHP-Kenntniss (Altersentsprechend).
JS-Kenntnis: Neuling.
daniel_1998 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array Element an bestimmte Stelle verschieben martl666 PHP Einsteiger 8 21.10.2011 16:32
Fusszeile verschwindet, Leerzeile fehlt ariane PHP Einsteiger 4 17.04.2011 18:21
Element erstellen, in Quelltext einfügen und auf dieses zugreifen können R4v3r JavaScript, Ajax und mehr 8 18.12.2009 11:33
Radiobutton mit klick auf das Wort aktivieren bierfest HTML, Usability und Barrierefreiheit 2 11.09.2009 17:21
[JS/CSS] Element erst onclick sichtbar machn script.aculo.us StatischeEntladung HTML, Usability und Barrierefreiheit 1 06.04.2006 18:32
bestimmte Link-Farbe für bestimmtes Element php_frage HTML, Usability und Barrierefreiheit 6 22.12.2005 09:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum