如果我只是放入XUL文件
<label value="°C"/>
它工作正常。但是,我需要将°
值赋予该标签元素,并且它不显示度数符号,而是显示文字值。
UPD
抱歉,伙计们,我在这里错过了几个单词 - 它在javascript中不起作用 - 如果我分配mylablel.value = degree + "°"
- 这将显示字面值。
只有在XUL文件中手动放置上面时才会显示度数符号。
答案 0 :(得分:3)
使用JavaScript转义时会发生什么,例如"\u00B0C"
,而不是"°C"
?
或者使用mylabel.innerHTML
代替mylabel.value
时? (根据MDC,这应该是可能的。)
编辑:您可以使用Unicode Code Converter将这些实体转换为JavaScript转义。
答案 1 :(得分:3)
这对我有意义。当您在XML标记中的属性值中表达实体时,XML解析器会插入实体引用,然后将标签值设置为结果。然而,从Javascript开始,没有XML解析器为你做这项工作,事实上,如果有的话,生活会很糟糕!请注意,当您设置<input type='text'>
元素的value属性(来自Javascript)时,您不必担心必须转义XML实体(或者甚至是尖括号)。但是,当您在XML标记中设置“value”属性时, do 必须担心XML实体。
另一种思考方式是:XML实体表示法是XML语法,而不是Javascript语法。在Javascript中,您可以使用16位Unicode转义序列生成特殊字符,其类似于\u
,后跟四位十六进制常量。正如Marcel Korpel的回答所述,如果你知道XML实体产生了什么Unicode值,那么你应该能够直接从Javascript中使用它。在这种情况下,您可以使用"\u00B0"
。
答案 2 :(得分:1)
这种方式不起作用,你可以把它转换成这样吗
<label>°C</label>