使用jquery选择所有表单元素,但CSS隐藏的那些除外

时间:2013-09-26 00:58:16

标签: jquery css selector hidden visible

我想使用jQuery选择所有表单元素,我知道我可以使用

$(':input')

但我不想选择CSS隐藏的元素,我可以用

$(':input:visible')

但我想要获得的一件事是:

<input type="hidden" />

我只是不想得到隐藏的元素,因为他们或他们的父母隐藏了类似的东西:

style="display:none;"

思想?

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试

$(':input').filter(function () {
    return (this.type.toUpperCase() == 'HIDDEN' && !$(this).parent().is(':hidden')) || !$(this).is(':hidden');
})

(':input:visible').add($('input[type="hidden"]'))

答案 1 :(得分:0)

尝试属性不等于选择器

http://api.jquery.com/attribute-not-equal-selector/

$("input[type!='hidden']" ).css( "border", "3px dotted green" );

演示:http://jsfiddle.net/judearasu/LqqLL/