Javascript 隐藏元素的jQuery选择器,除了
默认情况下: 忽略(默认值:“:隐藏”) 类型:选择器 要忽略的元素 验证,只是将它们过滤掉。使用jQuery的not方法, 因此,not()接受的所有内容都可以作为 选项“提交”和“重置”类型的输入总是被忽略,而“提交”和“重置”类型的输入也是如此 禁用的元素 以下是jquery.validate.js中的相关代码:Javascript 隐藏元素的jQuery选择器,除了,javascript,jquery,jquery-validate,tinymce,Javascript,Jquery,Jquery Validate,Tinymce,默认情况下: 忽略(默认值:“:隐藏”) 类型:选择器 要忽略的元素 验证,只是将它们过滤掉。使用jQuery的not方法, 因此,not()接受的所有内容都可以作为 选项“提交”和“重置”类型的输入总是被忽略,而“提交”和“重置”类型的输入也是如此 禁用的元素 以下是jquery.validate.js中的相关代码: elements: function() { var validator = this, rulesCache = {}; // select
elements: function() {
var validator = this,
rulesCache = {};
// select all valid inputs inside the form (no submit or reset buttons)
return $( this.currentForm )
.find( "input, select, textarea" )
.not( ":submit, :reset, :image, [disabled]" )
.not( this.settings.ignore )
.filter( function() {
// snip
});
}
我遇到的问题是因为我也在使用TinyMCE。当TinyMCE应用于textarea时,它会隐藏textarea并在其位置创建iframe。这意味着jQuery验证默认情况下会忽略它
通过将ignore选项的值更改为null
,我可以强制验证拾取隐藏的文本区域:
$("#myform").validate({
ignore: null
});
不幸的是,这在我有数百个隐藏输入字段的页面上造成了巨大的性能问题。这太糟糕了,它实际上破坏了Chrome和IE(Firefox是冠军,但仍然很慢)
我想我需要解决这个问题的是一个jQuery选择器,用于隐藏元素,除了那些具有特定类名的元素,或者类似的东西:
$("#myform").validate({
ignore: ':hidden(:not(textarea.tinymce))'
});
我意识到这是一个无效的选择器。有这样的选择器吗?如果没有,有没有更好的方法告诉jQuery验证忽略所有隐藏的元素(TinyMCE隐藏的元素除外?特殊选择器通常会跟随其他选择器(除了
not
和is
以及其他几个选择器之外:
":hidden:not(textarea.tinymce)"
特殊选择器通常紧跟在其他选择器之后(除了
not
和is
以及一些其他选择器:
":hidden:not(textarea.tinymce)"
特殊选择器通常紧跟在其他选择器之后(除了
not
和is
以及一些其他选择器:
":hidden:not(textarea.tinymce)"
特殊选择器通常紧跟在其他选择器之后(除了
not
和is
以及一些其他选择器:
":hidden:not(textarea.tinymce)"
FWIW:。FWIW:。FWIW:。FWIW:。