html实体未呈现

时间:2010-05-09 09:08:38

标签: javascript entity xul

如果我只是放入XUL文件

<label value="&#176;C"/> 

它工作正常。但是,我需要将&#176;值赋予该标签元素,并且它不显示度数符号,而是显示文字值。

UPD 抱歉,伙计们,我在这里错过了几个单词 - 它在javascript中不起作用 - 如果我分配mylablel.value = degree + "&#176;" - 这将显示字面值。

只有在XUL文件中手动放置上面时才会显示度数符号。

3 个答案:

答案 0 :(得分:3)

使用JavaScript转义时会发生什么,例如"\u00B0C",而不是"&#176;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>&#176;C</label>