对于特殊值,我尝试了 HTML <option value="�">unspecified</option>
,但似乎 NUL 字符没有在 HTML 中解释。我得到了…</a>。我想知道原因,以及除了NUL
我可能需要注意的其他不寻常的 UTF-8 字符。
<select><option value="�">�</option></select>
正如你在上面看到的,下拉列表设置了 NUL 值,但是当 JavaScript 检查结果时它们被转换为 �。
var select = document.querySelector('select')
inspect()
select.options[0].value = '\u0000'
select.options[0].label = '\u0000'
inspect()
select.innerHTML = select.innerHTML
inspect()
function inspect() {
alert(encodeURIComponent(select.options[0].value)
+ ','
+ encodeURIComponent(select.options[0].label)
+ ','
+ select.innerHTML)
}
JavaScript 可以专门设置value
和label
设置\u0000
并且它可以工作,但由于某种原因,这无法在 HTML 中呈现。
您能否解释原因和/或指向相关文档?是否有其他 UTF-8 字符将以类似方式替换?