Uncaught TypeError: Cannot read property 'indexOf' undefined in javascript
var id = $('.getval_'+product_id+''+index+'').attr("id");
var value = "";
console.log(id);
//data that return by id
6059
s2id_6061
6122
s2id_8410
if (id.indexOf('s2id_') > 0) {
value = $('.getval_'+product_id+''+index+'').select2('val');
}else{
value = $('.getval_'+product_id+''+index+'').val();
}
Frage:
Der obige code wird zeigen, dass, wenn die ID Rückkehr von jquery, dann zeigt es eine Liste der Daten, also das, was ich will, ist, wenn die ID zurückzukehren, wenn die vor ID nicht s2id_ es gehen wird else-Anweisung. Aber der code einen Fehler zurück, die (Uncaught TypeError: Cannot read property 'indexOf' undefined)
+''
? Dies ist nicht erforderlich, an jedem Punkt in Ihrem code.InformationsquelleAutor Ch Hong | 2017-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie prüfen, ob
id
selbst ist, und es gibt zwei Wege zu gehen über diese.Entweder die Kette
if (id.indexOf('s2id_') > 0)
Zustand in einer äußerenif
Bedingung, die überprüftid
:Überprüfen oder auf beide Bedingungen mit einem und Aussage:
Hoffe, das hilft! 🙂
if (&& id.indexOf('s2id_') > 0)
dies sollteif (id.indexOf('s2id_') > 0)
Es ist wichtig zu prüfen
id
als auch -- wenn Sie überprüfen Sie es und es ist nicht festgelegt, dieif
Zustand nicht ausgelöst werden. Wenn Sie nicht überprüfenid
und es ist nicht festgelegt, es wird versucht zu überprüfen, fürid.indexOf()
ist, und wirft einen Fehler aus, weilid
ist nicht definiert.Er meint, du hast einen Tippfehler in deinem ersten Beispiel? bin mir nicht sicher,
Ich meine Sie haben extra '&&' auf Ihre Antwort
Oh, wie ich sehe. Hab ich ja. War auf der Suche an den falschen der zwei Beispiele 😉 Gut erkannt!
InformationsquelleAutor Obsidian Age