< option>を動的に作成するにはどうすればよいですか? HTMLエンティティ(—…«)を含むJavaScriptで?
-
06-07-2019 - |
質問
< option>を追加したい< select>への要素< option>の要素要素のテキストにはHTMLエンティティが含まれます:& mdash;
HTMLでは、コードは次のようになります。
<select name="test" id="test">
<option value="">— Select One —</option>
</select>
私のJavaScriptコードは次のようになります。
function selectOne() {
var e = document.getElementById('test');
e.options[0] = new Option('— Select One —', '');
}
ただし、これをテストするとわかるように、&amp; mdash;エスケープされます。試したとき、私は同じ結果になりました:
e.options[o].text = '— Select One —';
(観察された動作はInternet&nbsp; Explorer 7でした... Firefox、Safariなどではテストしませんでした。現時点ではInternet&nbsp; Explorer 7のみが必要です。)
解決
Unicode JavaScriptエスケープを使用できることに気付きました:
e.options[0] = new Option('\u2014 Select One \u2014', '');
他のヒント
エンティティをエスケープする必要はありません-次のように機能します:
function selectOne() {
var e = document.getElementById('test');
e.options[0] = new Option('— Select One —', '');
}
text
プロパティはエスケープされません。文字どおりに取得するためのものです。 innerHTML
を使用する場合、エンティティは対応する文字に変換されます。
e.options[o].innerHTML = '— Select One —';
所属していません StackOverflow