获取表单内的全部没有被隐藏的name属性值并且不是”skus“开头和file的属性且不重复
时间: 2023-11-27 13:50:14 浏览: 67
机器学习(预测模型):600个库存单位(SKUs)的每日店铺销售和收入信息数据集
可以使用以下 JavaScript 代码获取表单内的全部没有被隐藏的 name 属性值,并且不是 "skus" 开头和 "file" 的属性,且不重复:
```javascript
// 获取表单元素
const form = document.querySelector('form');
// 获取所有非隐藏的表单元素
const formElements = [...form.elements].filter(el => !el.hidden);
// 获取所有满足条件的 name 属性值
const names = formElements.reduce((acc, el) => {
const name = el.getAttribute('name');
if (name && !name.startsWith('skus') && name !== 'file') {
acc.add(name);
}
return acc;
}, new Set());
// 转换为数组并输出结果
const result = Array.from(names);
console.log(result);
```
这段代码首先获取表单元素,然后利用扩展运算符和 filter 方法获取所有非隐藏的表单元素。接着使用 reduce 方法遍历所有表单元素,对于每个满足条件的元素,将其 name 属性值添加到 Set 中去重。最后将 Set 转换为数组即可得到所有满足条件的 name 属性值。
阅读全文