indexOf ist nicht eine Funktion in Firefox, Opera, funktioniert aber im IE indexOf alternative in javascript test-string enthält?
Immer ein Fehler mit indexOf aufrufen in Javascript unter Firefox und Opera. Funktioniert einwandfrei im IE.
Folgende Fehlermeldung:
Aktion
function anonymous(Grid, Row, Col, Event) {
return Grid.ActionShowPopupMenu();
}
zur Veranstaltung OnRightClick fehlgeschlagen mit Ausnahme: Zeile.id.indexOf ist nicht eine Funktion
Ich bin testet, dass ein string einen anderen string enthält, die in Javascript und mit Hilfe der indexOf Funktion, die eine Zeichenfolge. Die Anrufe sind jedoch in JQuery-Funktionen. Vielleicht ist das der Grund für das problem? Gibt es eine alternative zu mit indexOf in Javascript testen, ob ein string einen anderen string enthält? Gibt es eine Abhilfe für dieses problem?
- indexOf funktioniert auf jeden Fall in FF. Verwende es für nicht sicher, wie lange.. Es könnte ein problem mit dem Objekt, das Sie hier aufrufen es mit.
- Wenn Sie vorbei sind jQuery-Objekte, vor allem, wenn
Row
ist ein jQ-Objekt.id
undefined/null. EntwederRow.getAttr('id').indexOf()
oder verwenden SieRow.get(0).id.indexOf()
. Wenn das fehlschlägt, zu:Row
wird großgeschrieben in Ihrer Funktionsdeklaration verwenden, aber die Ausnahme zeigt eine Kleinschreibungrow
. JS ist CaseSensitive
Du musst angemeldet sein, um einen Kommentar abzugeben.
String.indexOf ist vollkommen OK in allen Browser. Ich nehme an, die id Eigentum Ihrer Zeile Objekt ist kein string (oder array, btw, weil indexOf definiert sich auch über arrays (außer IE))
indexOf ist nicht okay für IE vor IE9. Wenn Sie möchten, dass Ihr code funktioniert im ie < 9, definieren Sie die Methode für nicht-kompatiblen Browsern in einer gemeinsamen js-Datei, die gelöscht werden können, in jeder Seite. Sehen dieser thread für mehr details. Der code stammt aus Mozilla
indexOf() ist ok für alle Browser. Ausgelegt ist es für beide, String und Array, siehe dies: http://jsfiddle.net/SquTp/
Es ist vielleicht etwas falsch mit Ihrem dom-Auswahl, oder Sie können es in die falsche Richtung.