在HTML表单中隐藏或填充依赖<select>?

时间:2016-03-12 00:44:37

标签: javascript jquery html forms

我有一个HTML jQuery表单,根据用户在选择框中的选择,会显示第二个选择。我可以使用.show()来显示第二个先前隐藏的div,或者我可以使用.append()来填充一个空的select。 为了澄清,要么我可以显示或隐藏html,要么我可以在表单中追加和删除html。考虑到页面加载时间/良好实践,是否有优势? 是否有可能更有利的替代方案?

3 个答案:

答案 0 :(得分:2)

使用.show().hide()阻止创建,将元素附加到DOM

答案 1 :(得分:1)

我更喜欢隐藏/表演。


为什么?因为有三件事:

  1. 它只适用于一个属性,而不是整个元素 - 它更快。

  2. 你可以进行更难的编码,目标是第二个选择应该在哪里,append()只是将它插入到最后一个位置,但是如果它将是一个更大结构的MIDDLE中的元素呢?

  3. CSS。在我看来,将CSS管理到两个“拥有一个元素并且没有完全元素”的状态更加困难。如果你一直有这个元素,那么它的布局就更简单了......但是......这是我个人的看法。

答案 2 :(得分:1)

这取决于具体情况。

例如,考虑使用包含邮政编码的<select>,只要您从其他<select>选择国家/地区,就会显示:

  • 如果您拥有所有受支持国家/地区的邮政编码,那么每当您选择国家/地区然后展示它时,首先填写隐藏的<select>元素,并在取消选择您所在的国家/地区时隐藏它是非常有意义的,因为您&# 39;无论你选择哪个国家,总是需要选择一个值。
  • 如果您只为某些国家/地区设置了邮政编码,那么添加<select>元素并在取消选择您所在的国家/地区时将其删除会更有意义,因为您只需为其中的国家/地区选择一个值邮政编码列表可用。