【问题标题】:Javascript strings - getting the char at a certain pointJavascript字符串 - 在某个点获取字符
【发布时间】:2011-04-09 18:45:42
【问题描述】:

我有一个变量:

var text = "hello";

我想得到定位为 0 的字符,所以:

var firstChar = text[0];

简单。在 Firefox 和 chrome 中,这是可行的。但是在 IE 中,我总是返回“未定义”

任何想法为什么会在 IE 中发生这种情况?

【问题讨论】:

  • 从现在开始,了解在good 浏览器中工作的所有内容在IE 中都不起作用。我认为 MS 人想要在当前的 Web 开发环境之外编写一个额外的维度。
  • 附录:在 IE8 中工作正常(正如我写的那样),并且在 IE7 中不是抛出错误,而是返回被解析为 NaN 而不是爆炸的东西。跟踪这个问题确实比它应该花费的时间要长得多......

标签: javascript internet-explorer-8 cross-browser


【解决方案1】:

在 IE(IE9 之前)中不能像数组一样访问字符串。相反,您可以使用charAt,它可以跨浏览器使用:

var text = "hello";
var firstChar = text.charAt(0);
// firstChar will be 'h'

【讨论】:

  • +1 表示 charAt()。 FWIW、标准模式下的 IE8 和 IE9 支持数组样式引用字符串中的字符,就像 Chrome 和 Firefox 一样。
【解决方案2】:

您可以使用.substr()

var firstChar = text.substr(0,1);

【讨论】:

  • 我会使用它,因为它是最兼容跨浏览器的。
【解决方案3】:

我不确定为什么这不起作用,但您可以尝试使用 substr()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-24
    • 2017-08-28
    • 2018-08-21
    • 2013-02-07
    • 1970-01-01
    • 2020-01-09
    • 2022-06-13
    • 1970-01-01
    相关资源
    最近更新 更多