HTML5 jQuery 选择所有日期字段'输入:日期'
Posted
技术标签:
【中文标题】HTML5 jQuery 选择所有日期字段\'输入:日期\'【英文标题】: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")
等
【参考方案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运行快。因此,它因浏览器和浏览器版本而异,通常在性能方面非常接近。以上是关于HTML5 jQuery 选择所有日期字段'输入:日期'的主要内容,如果未能解决你的问题,请参考以下文章