2017-02-24 5 views
0

Also ich habe eine JSON-Datei (von einer API gezogen), wo ich einige Vergleiche mache. Ich hole den Inhalt der JSON-Datei und lege sie auf einige Schaltflächen (als Schaltfläche Text). Ich mache dann einen Vergleichstest für die Gleichheit zwischen der Schaltfläche Text und Text in der JSON-Datei.Akzente und HTML-Entitäten in jQuery

Dies funktioniert in 99% meiner Anwendungsfälle jedoch:

Einige Wörter in meinem JSON-Datei haben Akzente auf ihnen (entweder é oder so weiter). Wenn ich versuche, und einen Vergleich in jQuery zu tun, obwohl ich verwende das:

$(this).html() 

für meinen Button-Text, nicht der Gleichheitstest. Das Wort im JSON-Datei könnte lauten:

Frédéric Auguste Bartholdi 

aber auf meinem Knopf liest es:

Frédéric Auguste Bartholdi 

Ich dachte, wenn ich einen Vergleichstest wie tat

if($(this).html() === jsonFile[0])){...} 

das wäre Mach den Trick, aber es scheint es nicht zu tun. Zur Verdeutlichung (dies bezieht sich auf meine Schaltfläche und ich kann nicht wirklich viel über die JSON-Datei tun - kann nicht geändert werden.

Hat jemand irgendwelche Ideen?

+0

Siehe [diese Antwort] (http versuchen sollte, /stackoverflow.com/a/18160397/2019247). Sie müssen die akzentuierten Zeichen vor dem Vergleich durch ihre englischen Entsprechungen ersetzen. – 31piy

+0

vielleicht das? http://stackoverflow.com/questions/3330345/javascript-jquery-convert-special-html-characters –

Antwort

0

Anstatt $ (this) .html() zu verwenden, verwenden Sie $ (this) .text(). Weil .html() - das HTML-Format dieser Unicodes zurückgibt.

0

Sie $(this).text() statt $(this).html()

Verwandte Themen