【问题标题】:HTML5 jQuery select all date fields 'input:date'HTML5 jQuery 选择所有日期字段'输入:日期'
【发布时间】:2013-05-19 01:23:05
【问题描述】:

有没有办法选择所有日期输入?
我有:

<input type="date" name="bday">

我只需要选择所有输入。
many selectors,但没有类似:

$('input:date')

这种方法

 $("input[type='date']")

不好看

最佳做法是什么?

【问题讨论】:

  • 我看不出$("input[type='date']")有什么问题
  • 我认为 $("input[type='date']") 是实现你想要的最常用的方法。
  • 很惊讶JQuery API中没有这样的选择器,因为有$(":text")$(":radio")

标签: javascript jquery html date jquery-selectors


【解决方案1】:

如果你想要跨浏览器的东西,你应该坚持:

$('input[type="date"]')

我认为您不能以不同的方式选择所有日期类型的输入。但是,如果您想选择所有文本字段,您可以使用

$(':text') 

或者如果你想要所有的收音机,你可以选择

$(':radio')

【讨论】:

    【解决方案2】:

    最简洁的方法是在所有输入中添加一个“日期”类,并使用$('.yourClass') 选择它们。

    如果你不能添加类,我不明白为什么$("input[type='date']")“看起来不好”。

    也许您想要$('input').filter('[type=date]') 之类的东西?

    【讨论】:

    • 因为添加类不是最干净的方法?
    • $('.date') 怎么不比$("input[type='date']") 干净。是的,它向 DOM 添加了一些东西,但它使用类使代码更短,运行速度也更快。而且我也明确表示$("input[type='date']") 是次优方式。请解释我是否遗漏了什么,因为我看不到它。
    • 因为向标记添加冗余类只是添加垃圾。除了污染标记之外,它不会添加任何东西,因此,它绝对不是最干净的方式。您的其余答案是正确的。它也偏离了最初的问题。选择一个类不会选择所有日期类型的输入。如果另一个用户稍后添加另一个日期类型的输入怎么办?然后按类选择会失败。
    • 另外,“run faster”应该是“may run faster”,我想你会发现IE 8,opera其实选择tag+attribute会比class运行快。因此,它因浏览器和浏览器版本而异,通常在性能方面非常接近。
    猜你喜欢
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2017-09-14
    • 2012-05-02
    • 2022-01-06
    相关资源
    最近更新 更多