hasOwnProperty 在 FF 中返回 false
hasOwnProperty returns false in FF
我正在尝试为我的框架创建一个方法,该方法将对元素中的文本执行某些操作,但在FF和IE中存在问题。
<div id="myDiv" style="border: 1px solid red;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas suscipit lacus non hendrerit cursus.
</div>
<script>
console.log(document.getElementById('myDiv').hasOwnProperty("innerHTML"));
</script>
这在 FF 和 IE 中返回 false。尽管它在 Chrome 中返回 true。知道这是为什么吗?
从 Chrome 43 开始,根据规范,innerHTML
属性位于 Element.prototype
上(作为 getter/setter 对),而不是元素实例。 Firefox 和 IE 正确地实现了该规范。 Chrome 违反了规范,因为他们声称从 JS 到 C++ 的调用会更慢,如果他们把它放在原型上(尽管在实践中,SpiderMonkey 设法比 V8 更快地调用 DOM 属性获取者)。
有关此更改的详细信息,请参阅:https://developers.google.com/web/updates/2015/04/DOM-attributes-now-on-the-prototype?hl=en
相关文章:
- Array.every返回false,而不是类型error
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 为什么当我在数组上测试regex时,它会返回false
- 检查文本区域是否为空总是返回false
- PHP strtotime()为JavaScript日期字符串返回false
- onsubmit返回false,但submit仍然执行
- 这个代码会返回false吗
- Ajax向表单返回false
- 表单验证JavaScript编号总是返回false
- 使用!而in运算符在应该为true时返回false,为什么
- jQuery.is(':checked')总是返回false
- Javascript 下划线每个总是返回 false
- 提交返回 false 总是在 jquery 中
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 基本JavaScript不断返回false
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- jquery focusin没有'调用.focus()并返回false;时无效;
- Ajax-执行成功前返回false
- jQuery JSON flickr提要返回false不工作