Heim >Web-Frontend >js-Tutorial >Wie codiere ich kaufmännische Und-Zeichen in JavaScript für HTML richtig?

Wie codiere ich kaufmännische Und-Zeichen in JavaScript für HTML richtig?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-20 17:09:16982Durchsuche

How to Properly Encode Ampersands in JavaScript for HTML?

Ampersands in JavaScript kodieren

Es tritt ein Problem auf, bei dem die HTML-Kodierung verloren geht, wenn ein Wert aus einem ausgeblendeten Eingabefeld abgerufen wird. Der im Eingabefeld codierte Wert erscheint in einem Textfeld ohne ordnungsgemäße Codierung. Dies führt dazu, dass das Zeichen „&“ wörtlich interpretiert wird und nicht als HTML-Entität.

Um dieses Problem zu beheben, können Sie JavaScript-Bibliotheken oder jQuery-Methoden verwenden, um die Zeichenfolge zu kodieren.

DOMParser-API

  • Erstellen Sie einen neuen DOMParser Instanz.
  • Verwenden Sie die parseFromString-Methode, um eine HTML-Zeichenfolge zu analysieren und ein neues Dokumentobjekt zu erstellen.
  • Rufen Sie den inneren Text des erstellten Dokuments ab, der HTML-codiert wird.
const parser = new DOMParser();
const encodedText = parser.parseFromString('<p>chalk &amp; cheese</p>', 'text/html').documentElement.textContent;

Benutzerdefiniertes JavaScript Funktionen

function htmlEncode(value) {
  // Create a temporary textarea element
  const textarea = document.createElement('textarea');
  textarea.textContent = value;
  const encodedValue = textarea.value;

  // Remove the created textarea element
  textarea.remove();

  return encodedValue;
}

Beispielverwendung

const hiddenValue = $('#hiddenId').attr('value');
const encodedValue = htmlEncode(hiddenValue);
$('#textboxId').val(encodedValue);

Das obige ist der detaillierte Inhalt vonWie codiere ich kaufmännische Und-Zeichen in JavaScript für HTML richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn