使用对象原型中的文档方法
Using a document method from within object prototype?
我对javascript很陌生,正在尝试使用一个名为"button"的键设置一个名为"number"的原型,该键使用您传递的任何ID来获取HTML元素。HTML 中已经存在一个 ID 为"one"的元素。
我想知道为什么这不起作用?
function number(num, idOfNum) {
this.val = num;
this.button = document.getElementById(idOfNum);
};
var one = new number(1, "one");
console.log(one.button); // null?
如果one.button
是null
,那么这只是因为document.getElementById("one");
在运行number()
对象的构造函数时没有找到DOM对象,因此null
返回。
这可能是因为页面中没有具有该 id 的对象,也可能是因为您在页面完成加载之前运行此代码,因此当您运行代码时该对象尚不存在。
您必须显示更多整体页面上下文(代码与页面 DOM 解析相关的执行位置),以便我们确切地知道这里发生了哪种情况。
对于过早运行代码的情况,一个常见的解决方法是将此代码所在的 <script>
标记移动到 </body>
标记之前。 这将确保在此代码运行时所有 DOM 元素都存在。 有关此问题的更完整解释,请参阅以下答案:纯JavaScript等同于jQuery的$.ready()如何在page/dom准备就绪时调用函数。
相关文章:
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 文档.编写方法问题
- 有没有一种方法可以找到一个匹配两个不同填充的文档,并在findOne()中获取他的文档
- 嵌套文档.writes和第三方广告在IE中不起作用!!!!任何安全的解决方法
- 如何在猫鼬.js子文档数组中定义实例方法
- 在MongoDB中,从文档中获取单个字段数组的最简单方法是什么
- jsdoc hide 继承的方法(在生成的文档中)
- 使用简单 JavaScript 继承定义的文档方法
- 当文档中的单个元素准备就绪时触发事件的最佳方法
- 方法findText()卡在Google文档的第一段
- 如何从findOneAndUpdate方法获取更新的文档
- 如果文档中存在元素,则将加法值添加到方法中
- 了解上次更改MongoDB文档的最佳方法是什么?
- CouchDB:访问_design视图或提取文档字段的替代方法是什么
- jQuery的触发器方法在文档就绪上无法正常工作
- Windows Phone WebBrowser:获取文档高度的正确方法
- 为任何更新查询增加 Mongoose 文档版本的简单方法
- 在 html 文档中突出显示不同字符串的最快方法是什么
- JavaScript - 我自己的文档方法
- 使用对象原型中的文档方法