resueltos - que se puede hacer con javascript
¿Cómo creo dinámicamente una<opción> en JavaScript que contiene una entidad HTML(-... «)? (3)
Me gustaría agregar un elemento <option> a un elemento <select> donde el texto del elemento <option> contiene una entidad HTML: & mdash;
En HTML, el código se vería así:
<select name="test" id="test">
<option value="">— Select One —</option>
</select>
Mi código JavaScript se ve así:
function selectOne() {
var e = document.getElementById(''test'');
e.options[0] = new Option(''— Select One —'', '''');
}
Sin embargo, como verá si prueba esto, el & mdash; se escapó Tuve el mismo resultado cuando lo intenté:
e.options[o].text = ''— Select One —'';
(El comportamiento observado fue en Internet Explorer 7 ... no se evaluó con Firefox, Safari, etc. - Internet Explorer 7 es el único navegador que necesito en este momento).
No necesita escapar de la entidad, funciona así:
function selectOne() {
var e = document.getElementById(''test'');
e.options[0] = new Option(''— Select One —'', '''');
}
text
propiedad de text
no se desaparece, ya que debe tomarse literalmente. Si usa innerHTML
, las entidades se convierten a los caracteres correspondientes.
e.options[o].innerHTML = ''— Select One —'';
Me acabo de dar cuenta de que podría usar un escape JavaScript de Unicode:
e.options[0] = new Option(''/u2014 Select One /u2014'', '''');