Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏元素的jQuery选择器,除了_Javascript_Jquery_Jquery Validate_Tinymce - Fatal编程技术网

Javascript 隐藏元素的jQuery选择器,除了

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

默认情况下:

忽略(默认值:“:隐藏”)

类型:选择器

要忽略的元素 验证,只是将它们过滤掉。使用jQuery的not方法, 因此,not()接受的所有内容都可以作为 选项“提交”和“重置”类型的输入总是被忽略,而“提交”和“重置”类型的输入也是如此 禁用的元素

以下是jquery.validate.js中的相关代码:

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:。