如何确定html元素是否具有“value”属性/属性?
Textarea示例:
let textarea = document.createElement("textarea");
textarea.innerHTML = "Sike!";
console.log(textarea.hasAttribute("value")); // returns false (expected true)
console.log(textarea.hasOwnProperty("value")); // returns false (expected true)
console.log(textarea.value); // returns "Sike!";
Div示例:
let div = document.createElement("div");
div.innerHTML = "Sike!";
console.log(div.hasAttribute("value")); // returns false (expected false)
console.log(div.hasOwnProperty("value")); // returns false (expected false)
console.log(div.value); // returns undefined; (expected thrown error)
您可以测试元素的(非标准)'value'
属性中是否存在名为__proto__
的属性:
let textarea = document.createElement("textarea");
console.log('value' in textarea.__proto__);
console.log('foo' in textarea.__proto__);