我正在为各种输入编写一个小的必需的 HTML5 属性后备。到目前为止进展顺利,但是在检查单选按钮是否为 ':checked' 并使用 'OR' || 时遇到问题 循环中的运算符:
if (self.val() === '' || self.is(':not(:checked)')) {
出于某种原因,当我添加它时,它会稍微破坏脚本,并且会指示输入字段(类型=文本)在不是空的时候是空的。有没有更好的方法来循环并指出输入类型“文本”和“无线电”之间的区别?
这是循环:
var reqClass = $('.required')
reqClass.each(function(){
var self = $(this)
// if empty
if (self.val() === '' || self.is(':not(:checked)')) {
// if it doesn't have require-checked class
if (!self.hasClass('require-checked')) {
self.addClass('require-checked')
self.parent().append('<span class="form-error">This field is required.</span>')
}
e.preventDefault()
//$('.form-submit').attr('disabled', true)
// if it's been checked, but there is a value now
} else if (self.hasClass('require-checked') && !(self.val() === '')) {
self.siblings('.form-error').hide()
}
})
类显然存在于“后备”浏览器中,并且是动态更改的。这是一个JSFiddle,感谢您的帮助: