jquery获取表单内父容器没有被display=none隐藏的表单name属性值部
时间: 2023-08-18 12:09:52 浏览: 79
你可以使用以下 jQuery 代码来获取表单内父容器没有被 display=none 隐藏的表单 name 属性值部分:
```javascript
$('form').find(':input').not(':hidden, [disabled], [aria-hidden="true"], [type="submit"], [type="button"]').filter(function() {
return $(this).parents().filter(function() {
return $(this).css('display') === 'none';
}).length === 0;
}).each(function() {
console.log($(this).attr('name'));
});
```
这段代码会遍历整个表单内所有的 input 元素,使用 `not` 过滤掉隐藏的表单元素,然后使用 `filter` 找到它们所在的父容器是否被隐藏,最后使用 `each` 循环输出每个元素的 name 属性值。
相关问题
jquery获取表单内父容器没有被display=none隐藏的input,select,radio等的表单name属性值
可以使用以下代码来获取表单内父容器没有被 display=none 隐藏的 input、select、radio 等表单元素的 name 属性值:
```javascript
var form = $('form'); // 获取表单元素
var inputs = form.find(':input'); // 获取表单内所有 input 元素
var visibleInputs = inputs.filter(function() {
return $(this).closest(':hidden').length === 0; // 筛选出没有被隐藏的 input 元素
});
var names = visibleInputs.map(function() {
return $(this).attr('name'); // 获取所有没有被隐藏的 input 元素的 name 属性值
}).get();
console.log(names); // 输出所有没有被隐藏的 input 元素的 name 属性值
```
上述代码中,我们首先获取表单元素,然后通过 `:input` 选择器获取表单内所有的 input 元素。接着,我们使用 `filter()` 方法筛选出没有被隐藏的 input 元素。最后,通过 `map()` 方法获取所有没有被隐藏的 input 元素的 name 属性值,并使用 `get()` 方法将其转换为数组。
jquery获取表单内的全部没有被隐藏的表单name属性值部分元素其父容器会通过display=none隐藏
可以使用jQuery的`not()`和`:hidden`选择器来实现。具体代码如下:
```javascript
// 获取表单内全部没有被隐藏的表单元素的name属性值部分
var names = $('form').find('*').not(':hidden').map(function() {
return $(this).attr('name');
}).get();
// 获取表单内全部没有被隐藏的表单元素的父容器并隐藏
$('form').find('*').not(':hidden').parent().hide();
```
其中,`not(':hidden')`选择器表示选取所有不隐藏的元素,`:hidden`选择器表示选取所有隐藏的元素。`map()`函数用于遍历每个元素并返回它的`name`属性值,`get()`函数将结果转换为数组返回。
阅读全文