代码之家  ›  专栏  ›  技术社区  ›  Lonnie Best

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

  •  0
  • Lonnie Best  · 技术社区  · 6 年前

    如何确定HTML元素是否具有“value”属性/属性?

    文本区域示例:

    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)
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   connexo    6 年前

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

    let textarea = document.createElement("textarea");
    console.log('value' in textarea.__proto__);
    console.log('foo' in textarea.__proto__);