通过javascript设置占位符文本时,特殊字符无法正确显示。

function myFunction() {
    document.getElementById("myText").placeholder = "Événement";
}
<input type="text" id="myText" placeholder="&#201;v&#233;nement">

<p>Click the button to change the placeholder text of the text field.</p>

<button onclick="myFunction()">Try it</button>


输出为:“Événement”

预期输出:“Événement”

寻找一个JavaScript解决方案,在这里我可以转换任何包含任何编码字符的文本。

最佳答案

转换的最直接方法是创建一个元素,将HTML实体设置为innerHTML并获取textContent,如下所示:

function myFunction() {
  let a = document.createElement('span');
  a.innerHTML = '&#201;v&#233;nement from JS';
  document.getElementById("myText").placeholder = a.textContent;
}
<input type="text" id="myText" placeholder="&#201;v&#233;nement">

<p>Click the button to change the placeholder text of the text field.</p>

<button onclick="myFunction()">Try it</button>

09-25 15:34