controlName.id, controlName.value这两个用法不对,知道元素 controlName,怎么获得id和vaule?
时间: 2024-09-16 18:06:04 浏览: 62
`controlName.id` 和 `controlName.value` 是JavaScript中直接访问HTML元素属性的方式。如果`controlName`是一个已存在的DOM元素对象,你可以这样获取它的ID和值:
```javascript
// 假设controlName是已经获取到的某个输入元素
const id = controlName.getAttribute("id"); // 获取元素的id
const value = controlName.value; // 对于表单输入,可以直接读取value属性
// 对于非表单元素(如隐藏输入`<input type="hidden">`),value属性可能不存在,需要检查是否存在后再获取
if ("value" in controlName) {
const hiddenValue = controlName.value;
} else {
console.log("This element does not have a 'value' attribute.");
}
```
如果`controlName`只是遍历数组的一个索引名而非实际元素,你需要先确保它对应的是一个有效的DOM节点再尝试获取id和value。例如:
```javascript
if (typeof textAndHiddenInputs[controlName] !== "undefined" && textAndHiddenInputs[controlName] instanceof HTMLInputElement) {
const id = textAndHiddenInputs[controlName].getAttribute("id");
const value = textAndHiddenInputs[controlName].value;
} else {
console.error(`Invalid index or non-input element at ${controlName}`);
}
```
这里假设`textAndHiddenInputs`是NodeList,index `controlName`可以找到对应的输入元素。
阅读全文