是否有可能在JavaScript显示在alert()confirm()prompt()对话盒上标字符(不仅数字)?

由于某些原因,我需要插入一个文本:

2,接着上标 'n' 个 2 ^ N

成JavaScript警报,确认和提示框。快速搜索谷歌没有帮助,但不完全是我找到了一种方法来显示对话盒上标号使用Unicode的 \ u00B 的字符,但它不与字符工作

alert('2\u00B2'); shows correctly 2^2
alert('2\u00Bn'); shows 2u00Bn

因此,目的是显示上标字符数量不限。


^被用作电源,并表明下一个字符上标,以防万一有人被混淆。

有帮助吗?

解决方案

有什么魔力该字符的代码 - 这恰好是一个钦点为“上标二”的性格。还有一个 “上标三”(\u00B3)(³)一个 “标一”(\00B9)(¹)和 “上标拉丁小写字母N”(\u207F)(ⁿ)。但是,如果你需要一些其他的标,你的运气了 - alert()不渲染HTML,所以你只限于由Unicode中定义的字符

您可能会更好放弃alert()完全,并模拟在页面中一个模式对话框。许多库存在已提供此功能,包括优良 jQuery的用户界面对话框

其他提示

后,有越来越标文本到一个警告框,没有可靠的方法。你当然可以做它用HTML <sup>标签页上,但在一个警告框,你是比较有限的。

的问题是:没有“的Unicode \u00B”字符。您正在使用的字符是\u00B2(定义为“两标”)。这有两个在最后的事实基本上是巧合。代码点\u00B1,例如,是不相关的(它的正/负号)。

有有在特定的Unicode版本标,您可以在的此搜索,但也有不是每一个信标的版本。

的Unicode或UTF-8需要两个对字符,或四个十六进制数字来作出的字符; 00B2被认定为“上标2”,而00Bn是一个无效的十六进制值。的上标数字1-3是:00B900B2,和00B3

不幸的是,没有神奇的标前缀,这将使后面的字符标。只有HTML <sup>能做到这一点,像横移说,警报呈现纯文本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top