Internet Explorer

时间:2015-10-06 09:55:19

标签: javascript jquery html css internet-explorer

这是我 previous question 的另一个问题。

我有一个完美的代码( DEMO ),它按预期工作。但是这在Chrome和Firefox中运行良好,但在 Internet Explorer 中则不行。这是因为IE不支持disply: none/block选项标签。

解释功能的流程,

  • 主标记和子标记是2个不同的部分,具有相同的列表值
  • 两个部分中不应出现相同的项目。当用户从Item 1选择Main tag时,应从Sub Tag列表中删除相同的项目。
  • Sub Tag有一个名为Selected sub Tags的部分,其中选定的子标记将显示为标记。当我们删除这些选定的标签时,它应显示在Sub Tag列表
  • 如果用户在Item 2列表中选择了不同的项目(例如:Main tag),则应切换remove/add列表中的Sub Tag。表示删除当前选定的项目(Item 2)并将之前删除的项目Item 1)添加回Sub Tag。如果已在“选定的子标记”列表中选择了项目2,则它应该从Selected Sub Tags列表中删除

我只需要在Internet Explorer中使用给定的代码。

或者有什么方法可以使用ul li代替列表项来获得相同的功能吗?

1 个答案:

答案 0 :(得分:1)

隐藏一个选项有点不合逻辑。有一些浏览器(在你的情况下是Internet Explorer)无法做到这一点。处理所有浏览器的最佳方法是从DOM中删除该选项,而不是隐藏它。

你想要一些有趣的演示吗?选择Tag 1作为主标记。然后选择Tag 2作为子标记。现在玩你的键盘上的向上和向下箭头,感受神奇。那么现在,你真的可以说这是一个完美的代码,按预期工作吗?

如果您想拥有一个正常工作的代码,则必须在select中删除并添加选项。隐藏一个选项太奇怪了,并没有得到浏览器的支持(甚至是firefox和chrome)。