【问题标题】:jquery issue with IE8IE8的jQuery问题
【发布时间】:2013-01-10 04:59:13
【问题描述】:

作为学习 jQuery 的一个步骤,我正在尝试创建数独,其中我在 div 块中生成从 1 到 89 的数字(留下 10 个可整除的数字)。我的代码在 Google chrome 中运行良好,但 IE8 生成的 div id 不同。

请查看此fiddle

我非常怀疑这个错误一定是因为 jQuery 的某些方法不兼容。问题可能在于以下步骤:

var lastNumId = parseInt(_idGen.toString().substr(-1), 10);
var secondLastNumId = parseInt(_idGen.toString().charAt(_idGen.length - 2), 10);

在上述几行中,我使用了不同的技术,因为如果我这样做,那么它在 Chrome 中工作。

【问题讨论】:

  • 如果parseInt 似乎是问题所在,请尝试使用Number(str) 甚至+str,看看是否可行...
  • 这些都不是 jQuery 属性。
  • @elclanrs 我用var lastNumId = Number(_idGen.toString().substr(-1));.. 还是一样的.. 在 IE8 中
  • @Juhana 我把它改成了方法。我认为现在是正确的。
  • 那些与 jQuery 无关...它们是纯 JavaScript。

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


【解决方案1】:

在版本 9 之前,IE 不支持在 substr 中使用负索引。

只需使用模运算符即可获取数字的最后一位。这也适用于 IE8:

var lastNumId = _idGen % 10;

【讨论】:

  • 谢谢这是工作.. 我认为它不会自动将字符串转换为 int。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 2011-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多