HTML元素 - “值”属性或属性是否存在?

问题描述 投票:0回答:1

如何确定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)
javascript dom
1个回答
0
投票

您可以测试元素的(非标准)'value'属性中是否存在名为__proto__的属性:

let textarea = document.createElement("textarea");
console.log('value' in textarea.__proto__);
console.log('foo' in textarea.__proto__);
© www.soinside.com 2019 - 2024. All rights reserved.