Array.prototype.Xy UND style.display=???
MichaelR
- javascript
Hallo,
meine erste Frage wäre: warum erhalte ich unterschiedliche Ergebnisse, wenn ich in IE (5.5) und Mozilla (1.3) -je Win- mittels
style.display = 'none';
tr-Elemente einer Tabelle ausblenden möchte ?
Im IE ist es wie erwartet, trs sind weg, kein Platzhalter;
im Moz sind zwar die trs auch weg aber da ist immer ein Platzhalter für jede tr ???
Zweite Frage:
wenn ich folgende Funktion per prototype an das Array object anhänge erhalte ich beim Zugriff
mein_array.indexOf('heute');
eine Fehlermeldung: "Methode nicht vorhanden" (oder so ähnlich)
function Get_indexOf(Elm){
var result = -1;
for (var x=0; x<this.length; x++){
if (this[x] == Elm){
Result = x;
break;
}
return Result;
}
Array.prototype.indexOf = Get_indexOf;
Danke für jede Hilfe!
Grüße
Michael
Meine hilfe fällt etwas mager aus,
ich müsste gerade mal selber nachlesen warum wo und was anderster ist zwischen den Browsern.
Fakt ist, dass Mozilla basierte und Microsoft Browser auch unterschiedliche Versionen der Browser nicht immer die gleichen Funktionen, methoden etc. zur Verfügung stellen.
Die Frage warum das anderster ist, würde ich für mich anderster stellen. Was muss ich daran ändern, dass auf allen Browsern das gleiche Ergebnis erscheint.
Dazu verweise Ich dich zu selfhtml schau dort bitte nach, welche unterschiede es gibt und wie du die behandeln musst.
Die Problematik hat unter anderem mich dazu bewegt, weg von Client Funktionalität und hin zur Server seitigen Lösungen.
Ja ich weiss *grosses buhh* man könnte einiges verbessern und schneller sein anstatt unschön alles an den Server zu senden und auf den request zu warten.
Aber glaubt mir, wer Serverseitig html masken generieren muss, ist schon damit beschäftigt die Geschäftslogig zu entwickeln und aknn sich nicht mehr um nette Features wie etwas ausblenden usw. kümmern.
Mach auch fast keiner mehr, denn wenn das durch die QS soll, dann müssten zig tausend varianten an Betriebsystem und Browser sowie Monitor einstellungen getestet werden. Das macht dann doch keiner mehr.
Zurück zum Thema In selfhtml ist eigentlich durchgängig Beschireben was ein Browser kann und was nicht bzw. welches technik von welchem Browser unterstützt wird. Schau einfach selber nach.
hallö,
ebenfalls magere ideen:
Im IE ist es wie erwartet, trs sind weg, kein Platzhalter;
im Moz sind zwar die trs auch weg aber da ist immer ein Platzhalter für jede tr ???
kann das an zeilenumbrüchen liegen? (html-konform werden die in (sichtbare) leerzeichen umgewandelt.)
wenn ich folgende Funktion per prototype an das Array object anhänge erhalte ich beim Zugriff
...
var result = -1;
...
Result = x;
gROSS-/Kleinschreibung?
Danke für jede Hilfe!
ich hoffe keine buuuhs zu ernten ;-)
grüße aus Leipzig
willie.de
gruss MichaelR,
Zweite Frage:
wenn ich folgende Funktion per prototype an das Array object
anhänge erhalte ich beim Zugriff "mein_array.indexOf('heute');"
eine Fehlermeldung: "Methode nicht vorhanden" (oder so ähnlich)
function Get_indexOf(Elm){
var result = -1;
for (var x=0; x<this.length; x++){
if (this[x] == Elm){
Result = x;
break;
// }
// ----^ da fehlte 'ne schliessende klammer;
// - ausserdem gibt es bei Dir "result" und "Result";
//
}
return Result;
}Array.prototype.indexOf = Get_indexOf;
Array.prototype.indexOf = function(elm) {
var result = -1;
for (var x=0;x<this.length;x++) {
if (this[x] === elm) { // identitaetsvergleich - "==" laesst typumwandlung zu;
result = x;
break;
}
}
return result;
};
myArray = ["rtf","1234",1234,"ght"];
alert(myArray.indexOf(1234)); // liefert "2";
//beim gleichheitsoperator "==" erhielte man "1";
by(t)e by(t)e - peterS. - pseliger@gmx.net
--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)
Hallo,
danke. Allerdings waren meine Tippfehler nur hier vorhanden, im Originalscript nicht. Hab's beim Postingschreiben nur getippt und nicht copy&paste.
Muss nochmal schauen warum das nicht geklappt hatte, seltsam ...
Grüße
Michael
function Get_indexOf(Elm){
var result = -1;
for (var x=0; x<this.length; x++){
if (this[x] == Elm){
Result = x;
break;
// }
// ----^ da fehlte 'ne schliessende klammer;
// - ausserdem gibt es bei Dir "result" und "Result";
//
}
return Result;
}Array.prototype.indexOf = Get_indexOf;
Array.prototype.indexOf = function(elm) {
var result = -1;
for (var x=0;x<this.length;x++) {
if (this[x] === elm) { // identitaetsvergleich - "==" laesst typumwandlung zu;
result = x;
break;
}
}
return result;
};
myArray = ["rtf","1234",1234,"ght"];
alert(myArray.indexOf(1234)); // liefert "2";//beim gleichheitsoperator "==" erhielte man "1";
by(t)e by(t)e - peterS. - pseliger@gmx.net
--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)