funktioniert Dies ist mein CodeVergleicht zwei Strings in jQuery nicht
function nameIsDuplicate(name){
objects = $("#content").find('p.itemOldName');
$(objects).each(function(i, object){
console.log("*"+($(object).text()).toLowerCase() + "*" + name.toLowerCase()+"*");
if(($(object).text()).toLowerCase() == name.toLowerCase())
return true;
});
return false;
}
ich eine Online-Datei-Manager-System am Bau. Das Argument name
ist ein Name, der vom Benutzer über ein Textfeld angegeben wird, und der Name $(object).text()
ist der Name der Dateien und Ordner im aktuellen Verzeichnis. Diese Namen kommen über den Befehl exec("ls")
.
Ich muss überprüfen, ob der vom Benutzer angegebene Name bereits existiert. Also vergleiche ich die name
mit jedem Namen von Dateien/Ordnern. Das Problem ist, dass es keine Duplikate gibt. Das Ergebnis des obigen Codes wird im folgenden Bild gegeben
ein Hinweis ist, dass nicht Exec verwenden. Es macht Ihr System zu einem Spielplatz für Kunden –
Warum die '()' um '$ (object) .text()', sind Sie sicher, dass benötigt wird? –
Wenn Sie Text von DOM lesen, besteht die Möglichkeit von zusätzlichen Leerstellen. Verwenden Sie '.trim()', um sie zu löschen. Um zu überprüfen, anstatt den Wert zu protokollieren, protokollieren Sie auch deren Längen. – Rajesh