Estoy tratando de incluir un carácter especial codificado en HTML dentro de un literal de cadena, pero no se representará como HTML en el documento final.
Estoy tratando de hacerlo así:
const head = { title: `${ApplicationName} - ${Slogan}™` } En el código anterior, ™ parte se supone que representa un símbolo de marca registrada como ™. Pero cuando este código llega al documento HTML, termina mostrándose como una cadena:
<head> <title>Imaginary Inc - We straight don't exist™</title> </head>¿Hay alguna forma de hacer que funcione, tal vez usando algún tipo de técnica de escape?
Puede usar el unicode del carácter para lograr esto, agregue una barra invertida antes del carácter unicode para indicar esto en JavaScript. ( ™ → \u2112 )
const title = $("title"); title.append("\u2122"); console.log(title.text()); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <head> <title>My Title</title> </head>Puede usar innerHTML o un DOM Parser con innerText
let t = document.querySelector('title'); let var1 = 'foo', var2 = 'bar' let str = `${var1} - ${var2}™` t.innerHTML = str; console.log(t) let doc = new DOMParser().parseFromString(str, 'text/html'); t.innerText = doc.body.innerHTML; console.log(t) <title></title>