1

我有一些代码试图获取 select: 的子选项$('mySelect').getChildren()

有时选择可见,有时不可见,这在 Firefox 中似乎没有什么不同,.getChildren()返回一个带有选择选项的数组。但是,我注意到在 Chrome 中,如果选择不可见,完全相同的调用将返回一个空数组。

一旦选择变得可见.getChildren(),即使它再次不可见,也会返回选择选项。

有没有办法绕过 Chrome 中的这个初始空数组?

谢谢。

编辑:

我的实际代码是一个相当大的应用程序的一部分,但我尝试构建一个 jsfiddle 以提供足够的信息来解决这个问题,http://jsfiddle.net/6Szua/3/,但实际上重现错误并没有运气。这就像不是返回 0 和一个对象数组,而是返回 -1 和 [ ]。在我们的代码中,-1 属于特殊情况,因此不同浏览器的行为是不同的。

如果我在 Chrome 的开发人员工具中运行调试器,我可以跟踪正在构建的选择选项,但是一旦调用完成,就好像它们从未存在过一样。

幸运的是,我能够为这种情况想出一个解决方法,但如果其他人以前遇到过类似的事情,我仍然有兴趣了解它。

4

0 回答 0